为什么显示给我java.lang.StackOverflow错误

时间:2019-10-23 12:21:25

标签: java stack-overflow

我已经创建了一个类,一个实例变量是在main方法内部创建的,另一个是在外部方法内部的。

// calling a method from constructor
public class Raw4 {

    public static void main(String[] args) {
        Raw4 r = new Raw4();
    }

    Raw4 r1 = new Raw4();

}

1 个答案:

答案 0 :(得分:2)

创建新的Raw4对象时,所有带有初始化程序的字段都会被初始化。

您的Raw4类具有一个名为'r1'的字段,其类型为Raw4,并通过创建...另一个Raw4对象进行初始化。

因此,创建Raw4对象的操作涉及创建Raw4对象。这是一个永无止境的过程。