Maison >Java >javaDidacticiel >Comment accéder aux méthodes de la classe externe depuis une classe interne anonyme ?

Comment accéder aux méthodes de la classe externe depuis une classe interne anonyme ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-11 01:45:02458parcourir

How to Access Methods of the Outer Class from an Anonymous Inner Class?

Accès à la classe externe à partir d'une classe interne anonyme

Au sein d'une classe interne anonyme, l'accès aux membres de la classe externe englobante peut être réalisé en utilisant une syntaxe spécifique.

Considérez le code suivant extrait :

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?
            }
        });
    }
}

Pour accéder à la méthode externalMethod() de la classe externe à partir de la classe interne anonyme, Java fournit la syntaxe OuterClassName.this. Dans ce cas, vous utiliseriez :

Outer.this.otherMethod();

Cela permet à la classe interne anonyme d'accéder aux membres de la classe externe comme s'ils étaient définis dans la classe interne elle-même. Ainsi, le code dans innerMethod() peut désormais accéder à externalMethod() en utilisant la syntaxe :

Other.this.otherMethod();

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn