Maison > Java > javaDidacticiel > Comment puis-je accéder aux méthodes de classe externe à partir d'une classe interne anonyme en Java ?

Comment puis-je accéder aux méthodes de classe externe à partir d'une classe interne anonyme en Java ?

Linda Hamilton
Libérer: 2024-11-10 21:26:02
original
245 Les gens l'ont consulté

How can I access outer class methods from an anonymous inner class in Java?

Accès aux méthodes de classe externe à partir de classes internes anonymes

En Java, il est possible de définir des classes internes anonymes au sein de classes externes. Ces classes internes peuvent accéder aux membres de la classe externe, y compris les méthodes et les champs.

Accès aux méthodes de classe externe

Pour accéder à une méthode de la classe externe au sein d'une classe interne anonyme classe, utilisez la syntaxe OuterClassName.this. Cela vous permet de faire référence à l'instance englobante de la classe externe.

Exemple

Considérez l'extrait de code suivant :

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

Dans ce Par exemple, la classe interne anonyme InnerClass définie dans la méthode method() peut accéder à la méthode otherMethod() de la OuterClass englobante. Cela se fait en utilisant la syntaxe OuterClass.this.

Remarque : La syntaxe OuterClassName.this peut également être utilisée pour accéder aux champs de la classe externe au sein de classes internes anonymes.

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