public class Test {
Test t = new Test();
public static void main(String[] args) {
Test t1 = new Test();
}
}
-1
A
回答
1
因为该行:
Test t = new Test();
将产生无穷的递归实例化。
2
这是因为每当Test
创建新对象,将重新创建一个对象t
,同时将重新初始化......这样下去
public class Test {
Test t = new Test(); //-> recursive instantiation
public static void main(String[] args) {
Test t1 = new Test();
}
}
尝试删除Test t = new Test();
或使其静态static Test t = new Test();
,它应该解决您的问题。
public class Test {
static Test t = new Test(); //or remove it
public static void main(String[] args) {
Test t1 = new Test();
}
}
4
你的代码有没有构造,这是编译器做什么 -
public class Test {
Test t; // <-- initializer copied to every constructor body, even the default.
public Test() { // <-- compiler adds default constructor,
super();
t = new Test(); //<-- infinite recursion.
}
public static void main(String[] args) {
Test t1 = new Test(); // <-- invokes default constructor
}
}
相关问题
- 1. 为什么堆栈溢出?
- 2. 为什么这个堆栈溢出这么快?
- 3. 这个递归程序堆栈溢出错误? - C++
- 4. 发生段错误(回溯附加,这个堆栈溢出?)
- 5. 堆栈溢出错误android
- 6. java堆栈溢出错误?
- 7. JWS堆栈溢出错误
- 8. 堆栈溢出错误(Java)
- 9. 堆栈溢出错误
- 10. 堆栈溢出错误
- 11. ArrayLists堆栈溢出错误
- 12. 堆栈溢出错误?
- 13. Eclipse - 堆栈溢出错误
- 14. 堆栈溢出错误
- 15. 堆栈溢出错误
- 16. C++堆栈溢出错误
- 17. 为什么这个命令在prolog中导致堆栈溢出?
- 18. 为什么std :: regex_iterator会导致这个数据堆栈溢出?
- 19. 为什么这个C++代码触发堆栈溢出?
- 20. 为什么这个MySQL触发器会导致堆栈溢出?
- 21. 为什么这个循环会导致堆栈溢出?
- 22. 快速排序堆栈溢出错误
- 23. Lisp编程错误(堆栈溢出(深))
- 24. 为什么我收到堆栈溢出错误?
- 25. “简单”Halide程序编译时产生堆栈溢出
- 26. 这是为什么抛出堆栈溢出异常?
- 27. CompletableFuture故意吹堆栈不会产生堆栈溢出?
- 28. 堆栈溢出堆栈溢出
- 29. 堆栈溢出错误出现
- 30. Java Word梯形图程序输出堆栈溢出错误
因为测试实例测试()! –