Kata kunci this digunakan dalam sebuah kelas dan digunakan untuk menyatakan obyek sekarang. Contoh misal saat kita membuat sebuah parameter yang sama dengan nama atribut yang ada dalam sebuah kelas, maka jika kita menggunakan parameter tersebut untuk mengubah attribut pada kelas, maka perubahan tidak akan terjadi.
class Manusia{
String nama;
String alamat;
void ubahData(String nama, String alamat){
nama = nama;
alamat = alamat;
}
void ubahNama(String nama){
nama = nama;
}
}
Saat kita menggunakan kelas manusia diatas pada program.
Manusia manusia = new Manusia();
manusia.ubahData(“Kutu Gondrong”,”Dolok Sanggul”);
System.out.println(manusia.nama);
System.out.println(manusia.alamat);
Setelah dijalankan, maka program tersebut akan menghasilkan nilai null, yang artinya nama dan alamat objek manusia tidak berubah menjadi “Kutu Gondrong” dan “Dolok Sanggul”, Kenapa? Hal ini dikarenakan jika kita membuat sebuah parameter yang sama dengan nama attribut, lalu saat kita memanggil nama attribut tersebut, maka sebenarnya bukan attribut yang kita panggil melainkan parameter.
Agar kesalahan tersebut tidak terjadi, maka diperlukan kata kunci this, yang digunakan untuk menyatakan objek tersebut, jadi untuk mengubah attribut yang namanya sama dengan parameter haruslah sebagai berikut :
class Manusia{
String nama;
String alamat;
void ubahData(String nama, String alamat){
this.nama = nama;
this.alamat = alamat;
}
void ubahNama(String nama){
this.nama = nama;
}
}
Kemudian jalankan program dibawah ini kembali, maka hasilnya tidak akan null lagi.
Manusia manusia = new Manusia();
manusia.ubahData(“Kutu Gondrong”,”Dolok Sanggul”);
System.out.println(manusia.nama);
System.out.println(manusia.alamat);