如何从内部类访问外部类的“this”?

2022-08-31 13:28:58

是否可以从 Java 内部类中获取对 的引用?this

class Outer {

  void aMethod() {

    NewClass newClass = new NewClass() {
      void bMethod() {
        // How to I get access to "this" (pointing to outer) from here?
      }
    };
  }
}

答案 1

您可以像这样访问外部类的实例:

Outer.this

答案 2

外部.这个

即。

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

顺便说一句,在Java中,类名按照惯例以大写字母开头。


推荐