Kata Kunci ini di Jawa:Apa &Bagaimana Menggunakannya dengan Contoh
Apa Kata Kunci ini di Java?
kata kunci ini di Jawa adalah variabel referensi yang mengacu pada objek metode atau konstruktor saat ini. Tujuan utama menggunakan kata kunci ini di Java adalah untuk menghilangkan kebingungan antara atribut kelas dan parameter yang memiliki nama yang sama.
Berikut adalah macam-macam penggunaan kata kunci 'ini' di Java:
Dapat digunakan untuk merujuk variabel instan dari kelas saat ini
Dapat digunakan untuk memanggil atau memulai konstruktor kelas saat ini
Dapat diteruskan sebagai argumen dalam pemanggilan metode
Dapat diteruskan sebagai argumen dalam panggilan konstruktor
Ini dapat digunakan untuk mengembalikan instance kelas saat ini
Klik di sini jika video tidak dapat diakses
Pahami kata kunci 'ini' dengan sebuah contoh.
Kelas :Akun kelas
Variabel Instance :a dan b
Data Kumpulan Metode :Untuk menyetel nilai a dan b.
Metode Tampilkan data :Untuk menampilkan nilai a dan b.
Metode utama: tempat kita membuat objek untuk kelas Akun dan metode panggilan mengatur data dan menampilkan data.
Mari kita kompilasi dan jalankan kodenya
Output yang diharapkan untuk A dan B harus diinisialisasi masing-masing ke nilai 2 dan 3.
Tapi nilainya 0, Mengapa? Mari selidiki.
Dalam metode Set data, argumen dideklarasikan sebagai a dan b, sedangkan variabel instan juga disebut sebagai a dan b.
Selama eksekusi, kompiler bingung. Apakah "a" di sisi kiri operator yang ditetapkan adalah variabel instan atau variabel lokal. Oleh karena itu, ia tidak menetapkan nilai 'a' ketika data kumpulan metode dipanggil.
Solusinya adalah kata kunci “ini”
Tambahkan 'a' dan 'b' dengan kata kunci Java ini diikuti oleh operator titik (.).
Selama eksekusi kode ketika sebuah objek memanggil metode 'setdata'. Kata kunci 'ini' diganti dengan pengendali objek "obj." (Lihat gambar di bawah).
Jadi sekarang kompiler tahu,
'a' di sisi kiri adalah variabel Instance.
Sedangkan 'a' di sisi kanan adalah variabel lokal
Variabel diinisialisasi dengan benar, dan output yang diharapkan ditampilkan.
Misalkan Anda cukup pintar untuk memilih nama yang berbeda untuk variabel instans dan argumen metode.
Tapi kali ini, Anda membuat dua objek kelas, masing-masing memanggil metode set data.
Bagaimana kompiler akan menentukan apakah ia seharusnya bekerja pada variabel instan objek 1 atau objek 2.
Nah, kompiler secara implisit ditambahkan variabel instan dengan kata kunci “ini” (gambar di bawah).
Sehingga ketika objek 1 memanggil metode set data, variabel instan ditambahkan oleh variabel referensinya.
Saat objek 2 memanggil metode set data, variabel instan objek 2 dimodifikasi.
Proses ini ditangani oleh kompiler itu sendiri. Anda tidak perlu menambahkan kata kunci 'ini' secara eksplisit kecuali ada situasi luar biasa seperti dalam contoh kami.
Contoh: Untuk mempelajari penggunaan kata kunci “ini”
Langkah 1) Salin kode berikut ke dalam notepad.
class Account{
int a;
int b;
public void setData(int a ,int b){
a = a;
b = b;
}
public void showData(){
System.out.println("Value of A ="+a);
System.out.println("Value of B ="+b);
}
public static void main(String args[]){
Account obj = new Account();
obj.setData(2,3);
obj.showData();
}
}
Langkah 2) Simpan, Kompilasi &Jalankan kode.
Langkah 3) Nilai a &b ditampilkan sebagai nol? Untuk memperbaiki kesalahan tambahkan baris # 6 &7 dengan “ini ” kata kunci.
this.a =a;
this.b =b;
Langkah 4) Simpan, Kompilasi, dan Jalankan kodenya. Kali ini, nilai a &b ditetapkan masing-masing ke 2 &3.
Ringkasan
ini Kata kunci di Java adalah variabel referensi yang mengacu pada objek saat ini.
Salah satu penggunaan kata kunci ini di Java adalah untuk merujuk variabel instance kelas saat ini
Dapat digunakan untuk memanggil atau memulai konstruktor kelas saat ini
Dapat diteruskan sebagai argumen dalam pemanggilan metode
pointer dalam Java ini dapat diteruskan sebagai argumen dalam panggilan konstruktor
operator ini di Java dapat digunakan untuk mengembalikan instance kelas saat ini
ini di Java adalah referensi ke objek saat ini, yang metodenya dipanggil.
Anda dapat menggunakan kata kunci “ini” untuk menghindari konflik penamaan dalam metode/konstruktor instance/objek Anda.