Anonyme innere Klassen greifen über ihr Schlüsselwort this auf Mitgliedsvariablen der äußeren Klasse, einschließlich privater Variablen, zu und greifen über dieses Schlüsselwort auf die Mitgliedsvariablen der äußeren Klasse zu, als ob die anonyme innere Klasse diese Variablen selbst deklariert hätte.
Anonyme innere Klassen sind innere Klassen ohne Namen, die normalerweise zum Erstellen von Klassen für den einmaligen Gebrauch verwendet werden. Eine anonyme innere Klasse kann auf Mitgliedsvariablen ihrer äußeren Klasse zugreifen, einschließlich privater Variablen.
Zugriffsmechanismus:
Die anonyme innere Klasse greift über ihr Schlüsselwort this
auf die Mitgliedsvariablen der äußeren Klasse zu. Das Schlüsselwort this
verweist auf eine Instanz einer anonymen inneren Klasse, die tatsächlich eine Instanz ihrer äußeren Klasse ist. Daher kann this
direkt auf die Mitgliedsvariablen der äußeren Klasse zugreifen, so als ob die anonyme innere Klasse selbst diese Variablen deklariert hätte. 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
Praktischer Fall:
Wir erstellen eine äußere KlasseOuterClass class
mit einer privaten Mitgliedsvariablen secret
und erstellen eine anonyme innere Klasse, um auf die Variable zuzugreifen: this
auf die private Variable secret
der äußeren Klasse OuterClass
zugreifen kann. Das obige ist der detaillierte Inhalt vonWie greift eine anonyme innere Java-Klasse auf Mitgliedsvariablen einer äußeren Klasse zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!