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.

toto klíčové slovo v Java
Java příklad tohoto klíčového slova

  1. Třída: třídní Účet
  2. Proměnná instance: a a b
  3. Metoda Nastavení dat: Nastavení hodnoty pro a a b.
  4. Metoda Zobrazit data: Zobrazení hodnot pro a a b.
  5. 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.

toto klíčové slovo v Java

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.

toto klíčové slovo v Java

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'.

toto klíčové slovo v Java

Ř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 (.).

toto klíčové slovo v Java

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).

toto klíčové slovo v Java

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.

toto klíčové slovo v Java

Předpokládejme, že jste dostatečně chytří na to, abyste zvolili různá jména pro proměnné instance a argumenty metod.

toto klíčové slovo v Java

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.

toto klíčové slovo v Java

No, kompilátor implicitně připojí proměnnou instance s klíčovým slovem „this“ (obrázek níže).

toto klíčové slovo v Java

Takový, že když objekt 1 volá metodu set dat, k proměnné instance je připojena její referenční proměnná.

toto klíčové slovo v Java

Zatímco objekt 2 volá metodu set dat, proměnná instance objektu 2 je upravena.

toto klíčové slovo v Java

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