gpt4 book ai didi

java - 嵌套类、内部类

转载 作者:行者123 更新时间:2023-12-02 07:46:41 24 4
gpt4 key购买 nike

我在构造函数之后创建了一个对象 d,然后在 main 方法中创建了另一个对象 f。我需要理解为什么 Output 给出异常(Exception in thread "main"java.lang.StackOverflowError)。但是,如果我不在构造函数之后创建对象d,则程序将成功运行。

public class OuterTwo {
public OuterTwo() {
System.out.println("OUTER!");
}

OuterTwo d = new OuterTwo();

public static void main(String[] args) {
OuterTwo f = new OuterTwo();
}
}

最佳答案

因为您的类被定义为具有此字段,

OuterTwo d = new OuterTwo();

相当于

OuterTwo d;
public OuterTwo() {
d = new OuterTwo(); // <-- this is infinite recursion.
System.out.println("OUTER!");
}

关于java - 嵌套类、内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com