基本上,一个内部类(没有static修饰符)对其外部类的实例具有隐式引用,因此,只有在创建外部类之后才能创建它。通过在
this对它的调用上创建一个不能引用外部类,因为直到调用super之后才完全构建外部类。在适合您的情况下,对head的赋值发生在对super的(隐式)调用之后,因此该类的构造足以获取对其的引用。
所有这些规则都可以防止您通过引用未初始化的对象并发生不良事件(TM)来使自己陷入困境。

基本上,一个内部类(没有static修饰符)对其外部类的实例具有隐式引用,因此,只有在创建外部类之后才能创建它。通过在
this对它的调用上创建一个不能引用外部类,因为直到调用super之后才完全构建外部类。在适合您的情况下,对head的赋值发生在对super的(隐式)调用之后,因此该类的构造足以获取对其的引用。
所有这些规则都可以防止您通过引用未初始化的对象并发生不良事件(TM)来使自己陷入困境。