toto klíčové slovo v Java

⚡ Chytré shrnutí

Java Toto klíčové slovo je referenční proměnná, která ukazuje na aktuální objekt uvnitř metody nebo konstruktoru. LessPokrývají účel, běžné použití, konflikty pojmenování, řetězení konstruktorů a praktický příklad.

  • 🔑 Definice: Toto odkazuje na aktuální instanci třídy.
  • 🧱 Řešení konfliktů: Použijte toto pole k rozlišení proměnných instance od parametrů se stejnými názvy.
  • 🪜 Použití konstruktoru: this() volá jiný konstruktor stejné třídy pro čistší inicializaci.
  • (Tj. Průchod a návrat: Odešlete to jako argument nebo to vraťte do podpůrného řetězení metod.
  • 🧪 Zpracovaný příklad: Třída Account ukazuje, jak se tím opravuje nulový výstup způsobený stínováním parametrů.
  • 🤖 Asistence AI: Nástroje pro kódování s umělou inteligencí detekují chybějící prefixy a navrhují přesné refaktoringy.

toto klíčové slovo v Java

V čem je toto klíčové slovo Java?

Jedno 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ázev.

Použití tohoto klíčového slova v Java

Následují různá použití klíčového slova this v Java:

  • Lze jej použít k odkazování na proměnnou instance aktuální třídy.
  • Lze jej použít k vyvolání nebo inicializaci konstruktoru aktuální třídy.
  • Lze jej předat jako argument při volání metody.
  • Lze jej předat 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é

Jak porozumět klíčovému slovu this 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.

Procházka zmatkem kompilátoru

Zkompilujme a spusťme 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č? Pojďme to 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 a a b.

toto klíčové slovo v Java

Během provádění si kompilátor neví rady, zda je „a“ na levé straně přiřazeného operátoru proměnná instance nebo lokální proměnná. Proto při volání dat sady metod nenastaví hodnotu „a“.

toto klíčové slovo v Java

Řešením je klíčové slovo this.

Přidejte k oběma částem „a“ a „b“ 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, je klíčové slovo this 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

Jak kompilátor zpracovává více objektů

Předpokládejme, že zvolíte různé názvy proměnných instance a argumentů metody.

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 s proměnnou 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

Kompilátor to zvládne automaticky. Klíčové slovo this nemusíte explicitně přidávat, pokud to nevyžaduje výjimečná situace.

Příklad: toto klíčové slovo v Java S Code

Příklad: Naučit se používat klíčové slovo this.

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) Je hodnota a a b zobrazena jako nula? Chcete-li chybu opravit, doplňte řádky č. 6 a 7 o tento klíč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.

Nejčastější dotazy

Klíčové slovo this odkazuje na aktuální objekt, jehož metoda nebo konstruktor se provádí. Umožňuje kódu přístup k vlastním polím a metodám instance daného objektu.

Ne. Klíčové slovo this patří instanci, zatímco statické metody existují na úrovni třídy. Použití this uvnitř statické metody způsobí chybu při kompilaci.

Funkce this() volá další konstruktor stejné třídy jako první příkaz. Tím se zabrání duplicitnímu kódu a umožní jednomu konstruktoru delegovat nastavení na přetížený konstruktor.

Asistenti pro kódování s umělou inteligencí označují stínované parametry, přidávají chybějící prefix this a přepisují konstruktory tak, aby používaly řetězení this() a fluentní settery, které vracejí this.

Lektoři umělé inteligence vysvětlují identitu objektů, ukazují instanční versus lokální rozsah a vytvářejí podrobné příklady s kvízy, které upozorňují na to, kdy použít klíčové slovo this.

Podívejte se na náš článek Java Otázky k pohovoru: - Klikněte zde

Shrňte tento příspěvek takto: