Kata Kunci ini di Java

โšก Ringkasan Cerdas

Java Kata kunci `this` adalah variabel referensi yang menunjuk ke objek saat ini di dalam suatu metode atau konstruktor. LessBagian ini membahas tujuan, penggunaan umum, konflik penamaan, perangkaian konstruktor, dan contoh yang telah dikerjakan.

  • ๐Ÿ”‘ Definisi: Ini merujuk pada instance kelas saat ini.
  • ๐Ÿงฑ Selesaikan Konflik: Gunakan this.field untuk membedakan variabel instance dari parameter dengan nama yang identik.
  • ๐Ÿชœ Penggunaan Konstruktor: this() memanggil konstruktor lain dari kelas yang sama untuk inisialisasi yang lebih bersih.
  • โœ… Lewati dan Kembalikan: Kirim ini sebagai argumen atau kembalikan untuk mendukung method chaining.
  • ๐Ÿงช Contoh Kerja: Kelas Account menunjukkan bagaimana hal ini memperbaiki output nol yang disebabkan oleh parameter shadowing.
  • ๐Ÿค– Bantuan AI: Alat bantu pengkodean AI mendeteksi awalan yang hilang dan menyarankan refaktor yang akurat.

Kata Kunci ini di Java

Apa Kata Kunci ini di Java?

The kata kunci ini di Java adalah variabel referensi yang merujuk pada objek metode atau konstruktor saat ini. Tujuan utama penggunaan kata kunci ini di Java Tujuannya adalah untuk menghilangkan kebingungan antara atribut kelas dan parameter yang memiliki nama yang sama.

Penggunaan Kata Kunci Ini di Java

Berikut adalah berbagai penggunaan kata kunci ini dalam Java:

  • Ini dapat digunakan untuk merujuk pada variabel instance dari kelas saat ini.
  • Ini dapat digunakan untuk memanggil atau menginisiasi konstruktor kelas saat ini.
  • Ini dapat diteruskan sebagai argumen dalam panggilan metode.
  • Ini dapat diteruskan sebagai argumen dalam panggilan konstruktor.
  • Ini dapat digunakan untuk mengembalikan instance kelas saat ini.

Klik di sini jika video tidak dapat diakses

Cara Memahami Kata Kunci `this` Beserta Contoh

Kata Kunci ini di Java
Java contoh kata kunci ini

  1. Kelas: Akun kelas
  2. Variabel Instance: a dan b
  3. Metode Kumpulan data: Untuk menetapkan nilai a dan b.
  4. Metode Tampilkan data: Untuk menampilkan nilai a dan b.
  5. Metode utama: di mana kita membuat objek untuk kelas Account dan memanggil metode set data dan show data.

Menjelaskan Berbagai Hal yang Membingungkan tentang Kompilator

Mari kita kompilasi dan jalankan kode tersebut.

Output yang diharapkan untuk A dan B harus diinisialisasi ke nilai 2 dan 3 masing-masing.

Namun nilainya adalah 0. Mengapa? Mari kita selidiki.

Kata Kunci ini di Java

Dalam metode Set data, argumen dideklarasikan sebagai a dan b, sedangkan variabel instans juga diberi nama a dan b.

Kata Kunci ini di Java

Selama eksekusi, kompiler bingung apakah "a" di sisi kiri operator penugasan adalah variabel instance atau variabel lokal. Oleh karena itu, nilai "a" tidak diatur ketika metode setData dipanggil.

Kata Kunci ini di Java

Solusinya adalah kata kunci ini.

Tambahkan huruf โ€œaโ€ dan โ€œbโ€ dengan Java kata kunci ini diikuti oleh operator titik (.).

Kata Kunci ini di Java

Selama eksekusi kode ketika sebuah objek memanggil metode setdata, kata kunci this digantikan oleh penangan objek โ€œobj.โ€ (Lihat gambar di bawah.)

Kata Kunci ini di Java

Jadi sekarang kompiler tahu,

  • Huruf โ€œaโ€ di sisi kiri adalah variabel instans.
  • Sedangkan huruf โ€œaโ€ di sisi kanan adalah variabel lokal.

The variabel diinisialisasi dengan benar, dan output yang diharapkan ditampilkan.

Kata Kunci ini di Java

Bagaimana Kompiler Menangani Banyak Objek

Misalkan Anda memilih nama yang berbeda untuk variabel instance dan argumen metode Anda.

Kata Kunci ini di Java

Namun kali ini, Anda membuat dua objek kelas, masing-masing memanggil metode kumpulan data.

Bagaimana compiler akan menentukan apakah ia harus bekerja pada variabel instance dari objek 1 atau objek 2?

Kata Kunci ini di Java

Yah, itu kompiler secara implisit menambahkan variabel instance dengan kata kunci this (gambar di bawah).

Kata Kunci ini di Java

Sehingga ketika objek 1 memanggil metode set data, variabel instan ditambahkan oleh variabel referensinya.

Kata Kunci ini di Java

Saat objek 2 memanggil metode kumpulan data, variabel instan objek 2 diubah.

Kata Kunci ini di Java

Compiler menangani hal ini secara otomatis. Anda tidak perlu menambahkan kata kunci `this` secara eksplisit kecuali dalam situasi luar biasa yang mengharuskannya.

Contoh: kata kunci ini di Java Dengan Code

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, dan jalankan kode tersebut.

Langkah 3) Nilai a dan b ditampilkan sebagai nol? Untuk memperbaiki kesalahan, tambahkan baris # 6 dan 7 dengan ini kata kunci.

this.a =a;
this.b =b;

Langkah 4) Simpan, kompilasi, dan jalankan kodenya. Kali ini, nilai a dan b masing-masing diatur menjadi 2 dan 3.

Pertanyaan Umum Demo Slot

Kata kunci `this` merujuk pada objek saat ini yang metode atau konstruktornya sedang dieksekusi. Ini memungkinkan kode untuk mengakses field dan metode instance objek tersebut.

Tidak. Kata kunci `this` merujuk pada sebuah instance, sedangkan metode statis berada pada level kelas. Menggunakan `this` di dalam metode statis akan menyebabkan kesalahan kompilasi.

Fungsi `this()` memanggil konstruktor lain dari kelas yang sama dengan pernyataan pertama. Ini menghindari duplikasi kode dan memungkinkan satu konstruktor mendelegasikan pengaturan ke konstruktor yang di-overload.

Asisten pengkodean AI menandai parameter yang tersembunyi, menambahkan awalan `this` yang hilang, dan menulis ulang konstruktor untuk menggunakan perantaian `this()` dan setter yang lancar yang mengembalikan `this`.

Tutor AI menjelaskan identitas objek, menunjukkan perbedaan antara cakupan instance dan cakupan lokal, dan memberikan contoh langkah demi langkah dengan kuis yang memperkuat pemahaman kapan harus menggunakan kata kunci `this`.

Cek artikel kami di Java Pertanyaan Wawancara: - Klik disini

Ringkaslah postingan ini dengan: