NIN*_*OOP 3 java stack-overflow constructor
为什么在其构造函数中实例化同类的对象会抛出StackOverflowError?例如 ,
public class A {
public A () {
A a = new A()
}
}
Run Code Online (Sandbox Code Playgroud)
会抛出StackOverFlowError?
NPE*_*NPE 10
它与使用完全相同的参数无条件地调用自身的任何其他函数完全相同:
public void f() {
f(); // <---- will cause a stack overflow due to infinite recursion
}
Run Code Online (Sandbox Code Playgroud)
该函数只是自己调用,每次调用都需要堆栈空间.堆栈迟早会耗尽,你会遇到异常.
当A()不断调用自身(in new A())时,会发生完全相同的事情.