0

一个类可以有一个自身的对象作为属性吗?

这不应该导致无限循环和爆炸吗?

public class MyClass() {
     private MyClass classy;
}
4

1 回答 1

7

原样

public class MyClass() {
      private MyClass classy;
}

你可以拥有它!!!

不过有了这个

public class MyClass() {
      private MyClass classy = new MyClass();
}

你会有问题 ( java.lang.StackOverflowError)

那是因为在第一种情况下,您只有一个type MyClass的局部变量。现在在第二种情况下,当您尝试实例化它时,就会出现一种无限循环并且 JVM 抱怨

于 2013-07-09T21:09:14.790 回答