Kata thiskunci terutama digunakan dalam tiga situasi. Yang pertama dan paling umum adalah dalam metode setter untuk mendisambiguasi referensi variabel. Yang kedua adalah ketika ada kebutuhan untuk melewatkan instance kelas saat ini sebagai argumen ke metode objek lain. Yang ketiga adalah sebagai cara untuk memanggil konstruktor alternatif dari dalam konstruktor.
Kasus 1: Menggunakan thisuntuk mendamaikan referensi variabel. Dalam metode Java setter, kita biasanya meneruskan argumen dengan nama yang sama dengan variabel anggota pribadi yang kita coba atur. Kami kemudian menetapkan argumen xuntuk this.x. Ini memperjelas bahwa Anda menetapkan nilai parameter "nama" ke variabel "nama" contoh.
public class Foo
{
private String name;
public void setName(String name) {
this.name = name;
}
}
Kasus 2: Menggunakan thissebagai argumen yang diteruskan ke objek lain.
public class Foo
{
public String useBarMethod() {
Bar theBar = new Bar();
return theBar.barMethod(this);
}
public String getName() {
return "Foo";
}
}
public class Bar
{
public void barMethod(Foo obj) {
obj.getName();
}
}
Kasus 3: Menggunakan thisuntuk memanggil konstruktor alternatif. Dalam komentar, trinithis dengan benar menunjukkan penggunaan umum lain dari this. Ketika Anda memiliki beberapa konstruktor untuk satu kelas, Anda dapat menggunakan this(arg0, arg1, ...)untuk memanggil konstruktor lain yang Anda pilih, asalkan Anda melakukannya di baris pertama konstruktor Anda.
class Foo
{
public Foo() {
this("Some default value for bar");
//optional other lines
}
public Foo(String bar) {
// Do something with bar
}
}
Saya juga telah melihat thisdigunakan untuk menekankan fakta bahwa variabel instance sedang direferensikan (tanpa perlunya disambiguasi), tetapi itu adalah kasus yang jarang menurut saya.