我正在尝试使用父类(super class)型的内部类,该内部类使用泛型。并得到上面那个奇怪的错误。
class MySuperClass<B> {
class InnerClass {
}
MySuperClass(InnerClass... c) {
}
}
在子类中,我尝试实例化它:
class MySubClass extends MySuperClass<String> {
MySubClass() {
super(new InnerClass(), new InnerClass());
}
}
编译器使我感到困惑
No enclosing instance of type MySuperClass<B> is available due to some intermediate constructor
为什么?
最佳答案
呵呵,自己找到答案了:
InnerClass不是静态的,因此必须为this $引用传递MySuperClass的实例-但这在super()调用之前不可用...只是使InnerClass静态解决了我的问题。