一个类可以将自身的对象作为属性吗?
这不应该导致无限循环和爆炸吗?
public class MyClass() {
private MyClass classy;
}
答案 0 :(得分:6)
原样
public class MyClass() {
private MyClass classy;
}
你可以拥有!!!
虽然这是
public class MyClass() {
private MyClass classy = new MyClass();
}
你会遇到问题(java.lang.StackOverflowError
)
这是因为在第一种情况下,您只有 MyClass
类型的局部变量。现在在第二种情况下,当你尝试实例化它时,那就是一种无限循环,JVM抱怨