Di Java, secara umum, penunjuk ini merujuk pada objek kode yang sedang diakses. Namun, jika Anda perlu menggunakan objek di kelas eksternal di kelas internal, Anda perlu menggunakan nama kelas dari kelas eksternal untuk memenuhi syarat. dia. Cara ini juga relatif umum dalam pengembangan Android.
@Penulis: twlkyaopackage twlkyao;public class A { public A() { Inner inner = new Inner(); inner.outer(); // memanggil metode luar kelas dalam } public void luar() { System.out.println("pengoperasian luar" } kelas Batin { public void luar(){ System.out.println("batin run"); A.this.outer(); // memanggil metode luar A. System.out.println("--------"); } } public static void main(String[] args) { A a = baru A(); }}
Inner adalah kelas dalam yang mengakses metode luar() di kelas A. Karena kelas dalam anonim memiliki metode yang sama, maka kelas tersebut perlu dikualifikasikan menggunakan penunjuk this milik A.
Outputnya adalah:
runouter dalam--------runouter luar