package com.atul;
public class StackOverFlow {
public StackOverFlow() {
callStackOverFlow();
}
public void callStackOverFlow() {
StackOverFlow st = new StackOverFlow();
}
public static void main(String[] args) {
StackOverFlow st2 = new StackOverFlow();
}
}
在上面的程序中,我试图得到 OutOfMemory 错误,但我得到 StackOverFlow 错误。据我所知,所有对象都是在堆中创建的。在这里,我们正在使用构造函数进行递归,但仍然出现 StackOverFlow 错误。
为什么?