Java では、外部クラス内に匿名の内部クラスを定義できます。これらの内部クラスは、メソッドやフィールドなどの外部クラスのメンバーにアクセスできます。
外部クラスのメソッドへのアクセス
匿名内部クラス内の外部クラスからメソッドにアクセスするにはクラスの場合は、OuterClassName.this 構文を使用します。これにより、外部クラスの外側のインスタンスを参照できるようになります。
例
次のコード スニペットを考えてみましょう。
public class OuterClass { public void otherMethod() {} // Method in outer class public void doStuff(String str, InnerClass innerClass) {} public void method() { doStuff("asd", new InnerClass() { public void innerMethod() { OuterClass.this.otherMethod(); // Calls the outer class method } }); } }
この中でたとえば、method() メソッド内で定義された匿名内部クラス InnerClass は、外側のOuterClass の otherMethod() メソッドにアクセスできます。これは、OuterClass.this 構文を使用して行われます。
注: InnerClassName.this 構文は、匿名の内部クラス内の外部クラスのフィールドにアクセスするためにも使用できます。
以上がJava の匿名内部クラスから外部クラスのメソッドにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。