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