從匿名內部類別存取外部類別
在提供的程式碼片段中:
public class a { public void otherMethod(){} public void doStuff(String str, InnerClass b){} public void method(a){ doStuff("asd", new InnerClass(){ public void innerMethod(){ otherMethod(); } } ); } }
問題出現:我們可以直接從匿名內部類別存取外部類別方法嗎?
解決方案:使用 OuterClassName.this
從匿名內部引用外部類內部類,使用語法 OuterClassName.this。在這個範例中,要呼叫外部類別a的otherMethod()方法,您將使用a.this.otherMethod()。
因此,innerMethod()方法的完整版本將是:
public void innerMethod(){ a.this.otherMethod(); }
以上是如何在匿名內部類別中存取外部類別的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!