Ответ 1
Вы можете получить доступ к экземпляру внешнего класса следующим образом:
Outer.this
Можно ли получить ссылку на this
внутри внутреннего класса Java?
то есть.
class Outer {
void aMethod() {
NewClass newClass = new NewClass() {
void bMethod() {
// How to I get access to "this" (pointing to outer) from here?
}
};
}
}
Вы можете получить доступ к экземпляру внешнего класса следующим образом:
Outer.this
Outer.this
т.
class Outer {
void aMethod() {
NewClass newClass = new NewClass() {
void bMethod() {
System.out.println( Outer.this.getClass().getName() ); // print Outer
}
};
}
}
BTW В именах классов Java начинаются с прописных букв по соглашению.
Подтвердите имя класса внешнего класса следующим образом:
outer.this
да, вы можете использовать внешнее имя класса с этим. outer.this