Maison >Java >javaDidacticiel >Comment une classe interne anonyme Java accède-t-elle aux variables membres d'une classe externe ?
Les classes internes anonymes accèdent aux variables membres de la classe externe, y compris les variables privées, via leur this mot-clé, et accèdent aux variables membres de la classe externe via cela, tout comme si la classe interne anonyme elle-même déclarait ces variables.
Les classes internes anonymes sont des classes internes sans noms, généralement utilisées pour créer des classes à usage unique. Une classe interne anonyme peut accéder aux variables membres de sa classe externe, y compris les variables privées.
Mécanisme d'accès :
La classe interne anonyme accède aux variables membres de la classe externe via son mot-clé this
. Le mot-clé this
pointe vers une instance d'une classe interne anonyme, qui est en fait une instance de sa classe externe. Par conséquent, this
peut accéder directement aux variables membres de la classe externe, tout comme si la classe interne anonyme elle-même avait déclaré ces variables. this
关键字来访问外部类的成员变量。this
关键字指向匿名内部类的实例,它实际上是其外部类的实例。因此,this
可以直接访问外部类的成员变量,就像匿名内部类本身声明了这些变量一样。
实战案例:
我们创建一个具有私有成员变量 secret
的外部类 OuterClass类
,并创建一个匿名内部类来访问该变量:
public class OuterClass类 { private int secret = 42; public static void main(String[] args) { OuterClass类 outer = new OuterClass类(); Runnable r = new Runnable() { @Override public void run() { System.out.println("匿名内部类的 secret:" + this.secret); } }; r.run(); } }
当运行这个程序时,它将输出:"匿名内部类的 secret:42"。这是因为匿名内部类能够通过 this
访问外部类 OuterClass类
的私有变量 secret
Cas pratique :
Nous créons une classe externeClasse OuterClass
avec une variable membre privée secret
, et créons une classe interne anonyme pour accéder à la variable : secret
de la classe externe OuterClass
via this
. 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!