由于某些中间构造函数,没有包含MySuperClass 类型的封闭实例

我试图使用超类型的内部类,它使用generics。 上面有那个奇怪的错误。

class MySuperClass { class InnerClass { } MySuperClass(InnerClass... c) { } } 

在子类中,我试图实例化它:

 class MySubClass extends MySuperClass { MySubClass() { super(new InnerClass(), new InnerClass()); } } 

编译器让我困惑

 No enclosing instance of type MySuperClass is available due to some intermediate constructor 

为什么?

嘿,我自己找到了答案:

InnerClass不是静态的,因此必须为此$引用传递MySuperClass的实例 – 但是在super()调用之前不可用…只是使InnerClass static解决了我的问题。