如何在Java中引用匿名类或嵌套类的包含类

如何在Java中引用匿名类或嵌套类的包含类,java,Java,超类可以通过关键字super引用,当前类可以通过this引用,但是是否有方法引用包含嵌套类/匿名类的类?是。像这样: public class OuterClass { class InnerClass { void method() { // Refer to outer class instance doSomething( OuterClass.this ); } void doSom

超类可以通过关键字
super
引用,当前类可以通过
this
引用,但是是否有方法引用包含嵌套类/匿名类的类?

是。像这样:

public class OuterClass {
    class InnerClass {
        void method() {
            // Refer to outer class instance
            doSomething( OuterClass.this );
        }

        void doSomething(OuterClass outer) {
            // ...
        }
    }
}
  • 另见:

    • 我想你在找

      基本上,如果外部类称为容器,则使用以下语法:

      Container.this.methodNameGoesHere();
      
      这将确保您将调用外部类的methodnamegoesher()方法,即使匿名类中存在重复的方法。

      的可能重复