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!