Подтвердить что ты не робот

Как можно получить доступ к "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?
      }
    };
  }
}
4b9b3361

Ответ 1

Вы можете получить доступ к экземпляру внешнего класса следующим образом:

Outer.this

Ответ 2

Outer.this

т.

class Outer {
    void aMethod() {
        NewClass newClass = new NewClass() {
            void bMethod() {
                System.out.println( Outer.this.getClass().getName() ); // print Outer
            }
        };
    }
}

BTW В именах классов Java начинаются с прописных букв по соглашению.

Ответ 3

Подтвердите имя класса внешнего класса следующим образом:

outer.this

Ответ 4

да, вы можете использовать внешнее имя класса с этим.     outer.this