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
Libérer: 2024-11-11 01:45:02
original
445 Les gens l'ont consulté

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?
            }
        });
    }
}
Copier après la connexion

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();
Copier après la connexion

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();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal