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