Java内部类:扩展多个关键字

JCo*_*der 5 java constructor extends subclass instance

我有多个级别的内部类.extend关键字适用于第一个子级别,但不适用于第二个子级别.含义:

public class A{
       .........
    public class B extends A{
           ..........
        public class C extends B{
             ........
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误public class C extends B{.它说:

No enclosing instance of type A is available due to some intermediate constructor invocation.

为什么我会收到此错误,如何解决?我认为默认的构造函数会处理这个问题.

Oth*_*ers 0

您正在使用非静态子类,它需要引用外部实例。如果您不需要它们的非静态性,只需将 static 关键字添加到内部类的定义中即可。我不确定为什么给定的示例不适合您。