gpt4 book ai didi

java - Java 代码中的 StackOverFlowError

转载 作者:行者123 更新时间:2023-12-02 03:56:02 26 4
gpt4 key购买 nike

我正在编写一个简单的代码,并且在第 2 行的以下代码中收到 StackOverflowError:Tmp4 t = new Tmp4 ();如果我省略第 6 行(p 的初始化)或省略第 2 行,我不会收到错误。而且我没有进行递归调用。

我想问一下为什么会出现这样的错误。省略第 2 行或第 6 行时,它不会给出 StackOverflowError。

此外,它仅在我的系统上给出或代码有问题。

谢谢。

public class Tmp4 {
Tmp4 t = new Tmp4 ();

public static void main(String[] args) {
System.out.println("main");
Tmp4 p = new Tmp4 ();
System.out.println("main2");

}
}

最佳答案

通过执行 Tmp4 t = new Tmp4 (); 您正在尝试初始化其对象中同一类的对象,该对象将进行无限递归并为您提供 StackOverflow 异常。

删除此行,如下所示:

public class Tmp4 {
/* Remove this line */
Tmp4 t = new Tmp4 ();

public static void main(String[] args) {
System.out.println("main");
Tmp4 p = new Tmp4 ();
System.out.println("main2");
}
}

关于java - Java 代码中的 StackOverFlowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35438320/

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