gpt4 book ai didi

java - Java 是否允许在其定义中使用当前类的实例?

转载 作者:行者123 更新时间:2023-11-30 04:27:46 26 4
gpt4 key购买 nike

Java 是否允许在其定义中使用当前类的实例?

示例:

public class Component
{
Component()
{
// some code
}

public void method()
{
Component comp=new Component();
// some code
}
}

我知道它不会导致编译时错误。不过,我发现 self 引用有点令人困惑。这是否意味着Java的语义允许类的循环定义?

最佳答案

我想你也想过这样的事情......运行这会导致

Exception in thread "main" java.lang.StackOverflowError

public class AClass {

private AClass aClass;

public AClass() {
this.aClass = new AClass();
this.aClass.printHello();
}

private void printHello() {
System.out.println("Hello");
}

public static void main(final String[] args) {
new AClass();
}
}

我不需要这样的递归代码。但我认为可能有一些用例。有一个中止标准来防止无限循环和 StackOverflowError 非常重要。

为了回答你的问题,我想说Java允许循环实例化。

关于java - Java 是否允许在其定义中使用当前类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15444260/

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