從匿名內部類別存取外部類別
在匿名內部類別中,可以使用以下方式存取外部類別的成員
考慮以下程式碼片段:
public class Outer { public void otherMethod() {} public void doStuff(String str, InnerClass b) {} public void method(Outer a) { doStuff("asd", new InnerClass() { public void innerMethod() { // How to access outer.otherMethod() here? } }); } }
為了從匿名內部類別存取外部類別的outerMethod()方法,Java提供了OuterClassName.this語法。在這種情況下,您將使用:
Outer.this.otherMethod();
這允許匿名內部類別存取外部類別的成員,就像它們是在內部類別本身中定義的一樣。因此,innerMethod() 中的程式碼現在可以使用下列語法存取outerMethod():
Other.this.otherMethod();
以上是如何從匿名內部類別存取外部類別的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!