gpt4 book ai didi

java - 递归定义中的堆栈溢出错误

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

我有JAVA的类定义。

class ABC 
{
public static final ABC A = new ABC();
public static final ABC B = new ABC();
}

当我调用 new ABC() 时,它运行良好,没有任何错误。但是如果我删除 static 这个词,它就会遇到堆栈溢出错误。我知道静态字段会启动一次。但在这种情况下,初始化本身是递归的。因此,理想情况下,即使使用静态属性,它也应该给出相同的错误。你能解释一下吗?谢谢!

最佳答案

您自己回答了这个问题:静态字段启动一次。这正是代码不会进入无限递归的原因。您可以自己附加调试器来检查这一事实:)

关于java - 递归定义中的堆栈溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58444450/

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