实例化对象时出现StackOverFlow错误

amo*_*214 2 java stack-overflow static constructor

我正在审核认证考试,我尝试了以下代码:

class A {   
    B b = new B();
    static {
        System.out.println("A static.");
    }
    {
        System.out.println("A instance.");
    }
    A() {
        System.out.println("A constructor.");
    }
}
class B extends A {
    static {
        System.out.println("B static.");
    }
    {
        System.out.println("B instance.");
    }
    B() {
        System.out.println("B constructor.");
    }
}

public class Raaawrrr {
    public static void main(String args[]) {
        A a = new A();
    }
}
Run Code Online (Sandbox Code Playgroud)

它打印:

静止的.B静.

并导致堆栈溢出.我很难理解为什么.你能帮帮我吗?

Est*_*aya 10

实例化B. B恰好也是A类型,因此再次实例化.哪个实例化B ......等等.