toto klíčové slovo v Java
V čem je toto klíčové slovo Java?
toto klíčové slovo v Java je referenční proměnná, která odkazuje na aktuální objekt metody nebo konstruktoru. Hlavním účelem použití tohoto klíčového slova v Java je odstranit zmatek mezi atributy třídy a parametry, které mají stejné názvy.
Použití tohoto klíčového slova v Java
Následují různá použití klíčového slova „toto“ v Java:
- Může být použit k odkazování proměnné instance aktuální třídy
- Lze jej použít k vyvolání nebo spuštění konstruktoru aktuální třídy
- Může být předán jako argument při volání metody
- Může být předán jako argument ve volání konstruktoru
- Lze jej použít k vrácení aktuální instance třídy
klikněte zde pokud video není přístupné
Vysvětlete klíčové slovo „toto“ na příkladu.
- Třída: třídní Účet
- Proměnná instance: a a b
- Metoda Nastavení dat: Nastavení hodnoty pro a a b.
- Metoda Zobrazit data: Zobrazení hodnot pro a a b.
- Hlavní metoda: kde vytvoříme objekt pro třídu Account a zavoláme metody set data a show data.
Pojďme zkompilovat a spustit kód
Náš očekávaný výstup pro A a B by měl být inicializován na hodnoty 2, respektive 3.
Ale hodnota je 0, proč? Nechte prozkoumat.
V metodě Set data jsou argumenty deklarovány jako a a b, zatímco proměnné instance jsou také pojmenovány jako a a b.
Během provádění je kompilátor zmaten. Zda „a“ na levé straně přiřazeného operátoru je proměnná instance nebo lokální proměnná. Při volání dat sady metod tedy nenastaví hodnotu 'a'.
Řešením je klíčové slovo „toto“.
Připojte 'a' i 'b' s Java toto klíčové slovo následované operátorem tečka (.).
Během provádění kódu, když objekt volá metodu 'setdata'. Klíčové slovo 'toto' je nahrazeno obslužnou rutinou objektu "obj." (Viz obrázek níže).
Takže teď kompilátor ví,
- 'a' na levé straně je proměnná instance.
- Zatímco 'a' na pravé straně je lokální proměnná
Jedno proměnné jsou správně inicializovány a zobrazí se očekávaný výstup.
Předpokládejme, že jste dostatečně chytří na to, abyste zvolili různá jména pro proměnné instance a argumenty metod.
Tentokrát však vytvoříte dva objekty třídy, z nichž každý volá metodu set dat.
Jak kompilátor určí, zda má pracovat na proměnné instance objektu 1 nebo objektu 2.
No, kompilátor implicitně připojí proměnnou instance s klíčovým slovem „this“ (obrázek níže).
Takový, že když objekt 1 volá metodu set dat, k proměnné instance je připojena její referenční proměnná.
Zatímco objekt 2 volá metodu set dat, proměnná instance objektu 2 je upravena.
O tento proces se stará samotný kompilátor. Klíčové slovo „toto“ nemusíte explicitně připojovat, pokud nenastane výjimečná situace jako v našem příkladu.
toto klíčové slovo v Java s příkladem
Příklad: Chcete-li se naučit používat klíčové slovo „toto“.
Krok 1) Zkopírujte následující 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, zkompilujte a spusťte kód.
Krok 3) Hodnota a & b je zobrazena jako nula? Chcete-li chybu opravit, připojte řádek # 6 a 7 pomocí „tentoklíčové slovo.
this.a =a; this.b =b;
Krok 4) Uložte, zkompilujte a spusťte kód. Tentokrát jsou hodnoty a a b nastaveny na 2 a 3.
Shrnutí
- tento Klíčové slovo v Java je referenční proměnná, která odkazuje na aktuální objekt.
- Jedno z použití tohoto klíčového slova v Java je odkazovat na aktuální proměnnou instance třídy
- Lze jej použít k vyvolání nebo spuštění konstruktoru aktuální třídy
- Může být předán jako argument při volání metody
- tento ukazatel v Java lze předat jako argument ve volání konstruktoru
- tento operátor v Java lze použít k vrácení aktuální instance třídy
- toto v Java je odkaz na aktuální objekt, jehož metoda je volána.
- Klíčové slovo „toto“ můžete použít, abyste se vyhnuli konfliktům pojmenování v metodě/konstruktoru vaší instance/objektu.
Podívejte se na náš článek Java Otázky k pohovoru: - Klikněte zde