gpt4 book ai didi

java.lang.StackOverflowError?

转载 作者:行者123 更新时间:2023-12-01 06:39:12 27 4
gpt4 key购买 nike

我确信,这个问题代码必须在这个网站上提出。但我无法搜索,这是基本问题,但由于我的基本概念很差,所以我没有得到它-

public class A {

A obj = new A();

public static void main(String arg[])
{
A ob = new A();
}
}

它给出了java.lang.StackOverflowError,为什么?

最佳答案

您的类(class)本质上相当于:

public class A {

A obj;
public A() {
obj = new A();
}

public static void main(String arg[]) {
A ob = new A();
}
}

现在你知道你是如何得到这个错误的了吗?每次创建 A 的实例时,构造函数 get 都会被调用,它会再次调用自身来创建另一个实例,这会继续填充堆栈直到溢出。

关于java.lang.StackOverflowError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088633/

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