您仅声明变量而不创建它。尝试在声明或构造函数中创建它,让我知道会发生什么:
public class Abc { private Abc p = new Abc(); // have fun! public static void main(String[] args) { new Abc(); }}顺便说一句,如果您不是在类中创建它,而是在getter方法或构造函数参数中接受对它的引用,则您的代码将正常工作。这就是某些链接列表的工作方式。

您仅声明变量而不创建它。尝试在声明或构造函数中创建它,让我知道会发生什么:
public class Abc { private Abc p = new Abc(); // have fun! public static void main(String[] args) { new Abc(); }}顺便说一句,如果您不是在类中创建它,而是在getter方法或构造函数参数中接受对它的引用,则您的代码将正常工作。这就是某些链接列表的工作方式。