Ini adalah kata kunci di Java yang mewakili suatu objek. Ini dapat muncul dalam metode instan dan konstruktor, namun tidak dalam metode kelas.
Gunakan ini di konstruktor
Ketika kata kunci this muncul di konstruktor suatu kelas, kata kunci ini mewakili objek yang dibuat menggunakan konstruktor tersebut.
Misalnya:
publicclassPeople{intleg,hand;Stringname;People(Strings){name=s;this.init();//Ini dapat dihilangkan, yaitu ditulis sebagai init();}voidinit(){leg=2;hand =2;Sistem .out.println(nama+memiliki+tangan+tangan+1eg+kaki);}publicstaticvoidmain(Stringargs[]){Peopleboshi=newPeople(Bush);}}
Menggunakan ini dalam metode instan
Metode instance hanya bisa dipanggil melalui objeknya, bukan melalui nama kelasnya. Ketika kata kunci this muncul dalam metode instan, kata kunci ini mewakili objek saat ini yang memanggil metode tersebut.
Metode instan dapat mengoperasikan variabel anggota suatu kelas. Ketika variabel anggota instan muncul dalam metode instan, format umumnya adalah:
variabel this.member;
Ketika variabel anggota statis muncul dalam metode instan, format umumnya adalah:
Nama kelas. Variabel anggota;
Misalnya:
classA{intx;staticinty;voida(){ini.x=10;Ay=20;}}
Ini muncul dalam contoh metode a di kelas A. Ini mewakili objek saat ini menggunakan a, jadi "ini.x" mewakili variabel x dari objek saat ini Ketika objek memanggil metode a, 10 ditugaskan ke variabel objek . X. Ketika sebuah objek memanggil suatu metode, variabel anggota instance dalam metode tersebut mengacu pada variabel anggota instance yang ditetapkan ke objek tersebut, dan variabel statis dibagikan dengan objek lain. Oleh karena itu, dalam keadaan normal, Anda dapat menghilangkan "ini" di depan nama variabel anggota instance dan "nama kelas" di depan variabel statis.
Misalnya:
classA{intx;staticinty;voida(){x=10;//Hilangkan this.y=20;//Hilangkan nama kelas.}}
Melihat:
Jika nama variabel anggota instance sama dengan nama variabel lokal, maka "ini" atau "nama kelas" di depan variabel anggota tidak dapat dihilangkan.
Metode instan suatu kelas dapat memanggil metode lain di kelas tersebut. Format umum untuk memanggil metode instan adalah:
ini.metode;
Format umum untuk pemanggilan metode kelas adalah:
nama kelas.metode;
Misalnya:
classB{voidb(){ini.c();Bd();}voidc(){System.out.println(hi);}staticvoidd(){System.out.println(ok);}}
Ini muncul dalam metode b di kelas B, dan ini mewakili objek saat ini yang memanggil metode b, jadi this.c() di badan metode metode b adalah objek saat ini yang memanggil metode c, yaitu memanggil metode pada waktu tertentu objek Dalam proses b, metode c dipanggil lagi. Karena hubungan logis ini sangat jelas, ketika satu metode memanggil metode lain, Anda dapat menghilangkan "ini" atau "nama kelas".
Misalnya:
classB{voidb(){c();//Hilangkan this.d();//Hilangkan nama kelas.}voidc(){System.out.println(hi);}staticvoidd(){System.out.println ( Oke);}}
Melihat:
Ini tidak dapat muncul dalam metode kelas karena metode kelas dapat dipanggil langsung melalui nama kelas, dan belum ada objek yang dilahirkan.