匿名の内部クラスから外部クラスへのアクセス
提供されたコード スニペット内:
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 中国語 Web サイトの他の関連記事を参照してください。