Mengakses Kelas Luar daripada Kelas Dalaman Tanpa Nama
Dalam kelas dalaman tanpa nama, mengakses ahli kelas luar tertutup boleh dicapai menggunakan sintaks tertentu.
Pertimbangkan coretan kod berikut:
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? } }); } }
Untuk mengakses kaedah outerMethod() bagi kelas luar daripada kelas dalam tanpa nama, Java menyediakan OuterClassName.sintaks ini. Dalam kes ini, anda akan menggunakan:
Outer.this.otherMethod();
Ini membenarkan kelas dalaman tanpa nama untuk mengakses ahli kelas luar seolah-olah mereka ditakrifkan dalam kelas dalam itu sendiri. Jadi, kod dalam innerMethod() kini boleh mengakses outerMethod() menggunakan sintaks:
Other.this.otherMethod();
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Kaedah Kelas Luar daripada Kelas Dalaman Tanpa Nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!