匿名の内部クラス内の外部クラスからメソッドにアクセスするにはどうすればよいでしょうか?

Susan Sarandon
リリース: 2024-11-11 16:43:02
オリジナル
201 人が閲覧しました

How can you access methods from the outer class within an anonymous inner class?

匿名の内部クラスから外部クラスへのアクセス

提供されたコード スニペット内:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート