Как я могу заставить что-то подобное работать:
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 и вызывает THAT из производных классов, но есть ли другой способ?
Я в первую очередь хочу расширить InnerBase извне, чтобы улучшить организацию кода, но я мог бы переместить все производные классы во внешний.