A类样品1
public class A {
private A instance = new A();
public A() {
}
public A getInstance() {
return instance;
}
}
A类样品2
public class A {
private static A instance = new A();
public A() {
}
public static A getInstance() {
return instance;
}
}
主班
public class MainClass {
public static void main(String[] args) {
A a = new A();
}
}
当我尝试使用 Class A Sample 1 运行上述程序时,它会抛出,stackOverflowError Exception
但是当我尝试使用 Class A Sample 2 运行时,它运行时没有任何错误。任何人都可以向我详细解释为什么在我使用 A 类示例 1 时会引发错误?谢谢你。