Kelas dalaman tanpa nama mengakses pembolehubah ahli kelas luar, termasuk pembolehubah persendirian, melalui kata kunci ini dan akses pembolehubah ahli kelas luar melalui ini sama seperti kelas dalaman tanpa nama itu sendiri mengisytiharkan pembolehubah ini.
Kelas dalaman tanpa nama ialah kelas dalam tanpa nama, biasanya digunakan untuk mencipta kelas penggunaan sekali sahaja. Kelas dalaman tanpa nama boleh mengakses pembolehubah ahli kelas luarnya, termasuk pembolehubah persendirian.
Mekanisme akses:
Kelas dalam tanpa nama mengakses pembolehubah ahli kelas luar melalui kata kunci this
menunjukkan contoh kelas dalam tanpa nama, yang sebenarnya merupakan contoh kelas luarnya. Oleh itu, ini
boleh mengakses terus pembolehubah ahli kelas luar, sama seperti kelas dalaman tanpa nama itu sendiri telah mengisytiharkan pembolehubah ini. 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
Kes praktikal:
Kami mencipta kelas luarrahsia
kelas luar OuterClass
melalui this
. Atas ialah kandungan terperinci Bagaimanakah kelas dalaman tanpa nama Java boleh mengakses pembolehubah ahli kelas luar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!