假设我定义了一个类,该类的成员具有与其自身相同类型的变量。
public class Abc {
private Abc p;
}
这确实有效,令我惊讶的是。
为什么我认为它不应该:创建一个 Abc
的实例,它包含一个 Abc
类型的变量,其中包含一个 Abc< 类型的变量
,其中包含一个 Abc
类型的变量,它.....
显然我错了,谁能告诉我怎么做?
最佳答案
您只是声明变量而不是创建它。尝试在声明或构造函数中创建它,让我知道会发生什么:
public class Abc {
private Abc p = new Abc(); // have fun!
public static void main(String[] args) {
new Abc();
}
}
顺便说一句,如果您不在类中创建它,而是在 getter 方法或构造函数参数中接受对它的引用,您的代码就可以正常工作。这就是一些链表的工作原理。
关于java - 一个类怎么会有自己类型的成员,这不是无限递归吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780742/