2
超类可以通过关键字super
引用,当前类可以通过this
引用,但有没有办法指的是包含嵌套类/匿名类的类?如何引用Java中的匿名类或嵌套类的包含类
超类可以通过关键字super
引用,当前类可以通过this
引用,但有没有办法指的是包含嵌套类/匿名类的类?如何引用Java中的匿名类或嵌套类的包含类
是的。就像这样:
public class OuterClass {
class InnerClass {
void method() {
// Refer to outer class instance
doSomething(OuterClass.this);
}
void doSomething(OuterClass outer) {
// ...
}
}
}
我认为你正在寻找this answer。
基本上,如果你的外部类被称为集装箱使用此语法:
Container.this.methodNameGoesHere();
这将确保你将调用外部类的methodNameGoesHere()方法,即使是在您的匿名重复的方法类。
可能重复[关键字为匿名内部类的外部类?](http://stackoverflow.com/questions/56974/keyword-for-the-outer-class-from-an-anonymous-inner-类) – aioobe