Kata kunci ini adalah konsep yang menurut saya sangat sulit untuk dipahami di Java. :) Mungkin itu karena terlalu bodoh
Arti dari kata kunci ini: pegangan yang sesuai dapat dihasilkan untuk objek yang metodenya disebut.
Bagaimana Anda memahami bagian ini?
Ada contoh dalam pemikiran di Java
Ada dua objek dari tipe yang sama, yang disebut A dan B, masing -masing. Jadi bagaimana kita membedakan antara siapa yang memanggil metode ini saat memanggil metode f ()?
Misalnya:
kelas pisang {void f (int i) {/*** Metode tubuh *****/}} pisang a = pisang baru (); // menghasilkan objek pisang Aberana b = pisang baru (); // menghasilkan objek pisang Ba.f (1); bf (2);Jadi bagaimana kompiler mengetahui fungsi objek mana yang Anda panggil? Faktanya, teleportasi di belakang layar harus:
AF (1) << ==== >> Banana.f (a, 1); bf (1) << ==== >> pisang (b, 2);
Saya memahaminya sebagai: saat menghasilkan objek pisang a. Saat memanggil metode f () dari A, pegangan yang menunjuk pada objek ini akan dihasilkan secara bersamaan.
Inilah objek penunjuk ini pisang baru () atau ini setara dengan menangani A; Ini "==" a;
Saat kita berada di dalam suatu metode. Dan kami berharap dapat menangani objek saat ini. Karena pegangan ini secara diam -diam dilewatkan oleh kompiler, tidak ada simbol yang jelas untuk mengidentifikasinya. Saat ini, kita dapat menggunakan kata kunci ini
Makna umum dari ini: tidak peduli objek mana yang dihasilkan panggilan metode ini, pointer untuk objek ini akan dihasilkan.
Contoh klasik dalam pemikiran di Java:
Kelas publik Leaf {private int i = 0; leaf increment () {i ++; kembalikan ini;} void print () {systme.out.println ("i ="+i); public static void main (string [] args) {leaf x = new leaf (); x.increment (). Increment ().1. Hasilkan pegangan x objek; Format sintaks adalah daun x;
2. Hasilkan objek kelas daun; Format sintaks adalah daun baru ();
3. Tetapkan hubungan antara pegangan dan objek; Sintaksnya adalah x = daun baru ();
4. Panggil metode increment () di objek baru daun (); Sintaksnya adalah x.increment ()
× BECK SIAPA YANG MEMILIKI METODE INCREMENT ()? Ini adalah objek X (atau daun baru ()) dari kelas daun, sehingga sistem yang sesuai akan menghasilkan referensi ini dan secara diam -diam mengarahkannya ke objek X atau Leaf () baru, jadi kenaikan () mengembalikan referensi ke x! Ini adalah alamat memori. Kami dapat mencetaknya dan melihatnya!
Konten di atas adalah pengetahuan kata kunci ini di Java yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda!