Čo je to kľúčové slovo v Jave?
toto kľúčové slovo v Jave je referenčná premenná, ktorá odkazuje na aktuálny objekt metódy alebo konštruktora. Hlavným účelom použitia tohto kľúčového slova v prostredí Java je odstránenie zámeny medzi atribútmi triedy a parametrami, ktoré majú rovnaké názvy.
Nasleduje rôzne použitie kľúčového slova „toto“ v Jave:
- Môže sa použiť na odkazovanie na inštančnú premennú aktuálnej triedy
- Môže sa použiť na vyvolanie alebo spustenie aktuálneho konštruktora triedy
- Môže byť predaný ako argument volania metódy
- Môže byť odovzdaný ako argument volanie konštruktora
- Môže sa použiť na vrátenie aktuálnej inštancie triedy
Ak video nie je prístupné, kliknite sem
Pochopte kľúčové slovo „toto“ na príklade.

- Trieda : trieda Účet
- Premenná inštancie : a a b
- Údaje množiny metód : Ak chcete nastaviť hodnotu pre a a b.
- Metóda Zobraziť údaje : Na zobrazenie hodnôt pre a a b.
- Hlavná metóda: kde vytvoríme objekt pre triedu Účtu a zavoláme metódy množiny údajov a ukážeme údaje.
Poďme zostaviť a spustiť kód
Náš očakávaný výstup pre A a B by sa mal inicializovať na hodnoty 2, respektíve 3.
Ale hodnota je 0, Prečo? Nechajme to vyšetriť.
V metóde Set data sú argumenty deklarované ako a a b, zatiaľ čo premenné inštancie sú pomenované tiež ako a a b.
Počas vykonávania je kompilátor zmätený. Či „a“ na ľavej strane priradeného operátora je premenná inštancie alebo lokálna premenná. Preto nenastavuje hodnotu „a“, keď sa volajú údaje sady metód.
Riešením je kľúčové slovo „toto“
Pripojte za kľúčové slovo Java „a“ aj „b“ toto kľúčové slovo, za ktorým nasleduje operátor bodka (.).
Počas vykonávania kódu, keď objekt zavolá metódu „setdata“. Kľúčové slovo „toto“ je nahradené obslužnou rutinou objektu „obj.“ (Pozri obrázok nižšie).
Takže teraz kompilátor vie,
- Písmeno „a“ na ľavej strane je premennou inštancie.
- Zatiaľ čo „a“ na pravej strane je lokálna premenná
Premenné sú inicializované správne a zobrazuje sa očakávaný výstup.
Predpokladajme, že ste dostatočne inteligentní na to, aby ste pre argumenty inštančných premenných a metód vybrali rôzne názvy.
Tentokrát ale vytvoríte dva objekty triedy, pričom každý volá metódu nastavených údajov.
Ako kompilátor určí, či má pracovať s inštančnými premennými objektu 1 alebo objektu 2.
No, kompilátor implicitne pripojí inštancie premennej s "tejto" kľúčové slovo (obrázok nižšie).
Také, že keď objekt 1 volá metódu množiny údajov, je inštančná premenná pripojená k svojej referenčnej premennej.
Zatiaľ čo objekt 2 volá metódu množiny údajov, je upravená inštančná premenná objektu 2.
O tento proces sa stará samotný kompilátor. Kľúčové slovo „toto“ nemusíte výslovne pripájať, pokiaľ nenastane výnimočná situácia ako v našom príklade.
Príklad: Naučiť sa používať kľúčové slovo „toto“
Krok 1) Skopírujte nasledujúci kód do poznámkového bloku.
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();}}
Krok 2) Uložte, kompilujte a spustite kód.
Krok 3) Hodnota a & b sa zobrazuje ako nula? Ak chcete opraviť chybu, pridajte riadok č. 6 a 7 pomocou kľúčového slova „ toto “.
this.a =a;this.b =b;
Krok 4) Uložte, kompilujte a spustite kód. Tentokrát sú hodnoty a & b nastavené na 2, respektíve 3.
Zhrnutie
- toto kľúčové slovo v Jave je referenčná premenná, ktorá odkazuje na aktuálny objekt.
- Jedným z použití tohto kľúčového slova v Jave je odkazovanie na aktuálnu inštančnú premennú triedy
- Môže sa použiť na vyvolanie alebo spustenie aktuálneho konštruktora triedy
- Môže byť predaný ako argument volania metódy
- tento ukazovateľ v Jave je možné odovzdať ako argument vo volaní konštruktora
- tento operátor v Jave je možné použiť na vrátenie aktuálnej inštancie triedy
- toto v Jave je odkaz na aktuálny objekt, ktorého metóda sa volá.
- Môžete použiť kľúčové slovo „toto“, aby ste sa vyhli konfliktom pomenovaní v metóde / konštruktore svojej inštancie / objektu.