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

时间:2011-10-17 17:13:54

标签: java

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

2 个答案:

答案 0 :(得分:3)

是。像这样:

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

        void doSomething(OuterClass outer) {
            // ...
        }
    }
}

答案 1 :(得分:3)

我认为你正在寻找this answer

基本上,如果您的外部类名为Container,则使用以下语法:

Container.this.methodNameGoesHere();

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