1. Pengenalan
Dalam tutorial ini, kita akan melihat kata kunci Java ini .
Di Java, kata kunci ini adalah rujukan ke objek saat ini yang kaedahnya dipanggil .
Mari terokai bagaimana dan kapan kita boleh menggunakan kata kunci.
2. Membayangi Bayangan Medan
Kata kunci berguna untuk menghilangkan pemboleh ubah contoh dari parameter tempatan . Sebab yang paling biasa adalah apabila kita mempunyai parameter pembina dengan nama yang sama dengan medan contoh:
public class KeywordTest { private String name; private int age; public KeywordTest(String name, int age) { this.name = name; this.age = age; } }
Seperti yang dapat kita lihat di sini, kita menggunakan ini dengan medan nama dan umur - untuk membezakannya dengan parameter.
Penggunaan lain adalah menggunakan ini dengan parameter bersembunyi atau membayang dalam lingkup tempatan. Contoh penggunaan boleh didapati dalam artikel Pembolehubah dan Penyembunyian Kaedah.
3. Merujuk Pembina Kelas yang Sama
Dari konstruktor, kita boleh menggunakan ini () untuk memanggil pembina yang berbeza dari kelas yang sama . Di sini, kami menggunakan ini () untuk rantai konstruktor untuk mengurangkan penggunaan kod.
Kes penggunaan yang paling biasa adalah memanggil konstruktor lalai dari pembina parameter:
public KeywordTest(String name, int age) { this(); // the rest of the code }
Atau, kita boleh memanggil konstruktor parameter dari konstruktor tanpa argumen dan menyampaikan beberapa argumen:
public KeywordTest() { this("John", 27); }
Perhatikan, bahawa ini () harus menjadi pernyataan pertama dalam konstruktor, jika tidak, kesalahan penyusunan akan berlaku.
4. Melewatkan ini sebagai Parameter
Di sini kita mempunyai kaedah printInstance () , di mana argumen Kata Kunci ini ditakrifkan:
public KeywordTest() { printInstance(this); } public void printInstance(KeywordTest thisKeyword) { System.out.println(thisKeyword); }
Di dalam konstruktor, kami menggunakan kaedah printInstance () . Dengan ini , kami merujuk kepada contoh semasa.
5. Mengembalikan ini
Kami juga boleh menggunakan kata kunci ini untuk mengembalikan contoh kelas semasa dari kaedah.
Untuk tidak menduplikasi kod, berikut adalah contoh praktikal lengkap bagaimana ia dilaksanakan dalam corak reka bentuk pembangun.
6. ini Kata-kata Dalam Kelas Inner
Kami juga menggunakan ini untuk mengakses contoh kelas luar dari dalam kelas dalam:
public class KeywordTest { private String name; class ThisInnerClass { boolean isInnerClass = true; public ThisInnerClass() { KeywordTest thisKeyword = KeywordTest.this; String outerString = KeywordTest.this.name; } } }
Di sini, di dalam pembina, kita boleh mendapatkan rujukan ke contoh KeywordTest dengan panggilan KeywordTest . Ini. Kita boleh pergi lebih mendalam dan mengakses pemboleh ubah contoh seperti medan KeywordTest.this.name .
7. Kesimpulannya
Dalam artikel ini, kami meneroka kata kunci ini di Java.
Seperti biasa, kod lengkap boleh didapati di Github.