我该如何让类似这样的东西起作用:
class Outer {
int some_member;
abstract class InnerBase {
abstract void method();
}
}
class OuterExtendsInner extends Outer.InnerBase {
OuterExtendsInner(Outer o) { o.super(); }
void method() {
// How do I use some_member here?
// Writing Outer.this.some_member -> error about Outer not being an enclosing class
// Writing just some_member -> no-go, either
}
}
解决方法是在InnerBase中编写一个返回Outer.this的方法,并从派生类中调用该方法,但是否还有其他方法?
我主要想从外部扩展InnerBase以实现更好的代码组织,但我可以将所有派生类移动到Outer中。