ezt a kulcsszót Java

⚡ Okos összefoglaló

Java A this Keyword egy referenciaváltozó, amely egy metóduson vagy konstruktoron belüli aktuális objektumra mutat. LessAz onok lefedik a célt, a gyakori felhasználásokat, az elnevezési ütközéseket, a konstruktor láncolását és egy működő példát.

  • 🔑 Meghatározás: Ez egy osztály aktuális példányára hivatkozik.
  • 🧱 Konfliktusok megoldása: A this.field segítségével különböztetheti meg a példányváltozókat az azonos nevű paraméterektől.
  • 🪜 Konstruktor használata: A this() függvény egy másik, ugyanabba az osztályba tartozó konstruktort hív meg a tisztább inicializáláshoz.
  • Átadás és visszaadás: Küldd el ezt argumentumként, vagy küldd vissza a metódusláncolás támogatásához.
  • 🧪 Működő példa: Az Account osztály mutatja meg, hogyan javítja ki ez a paraméterek árnyékolása által okozott nulla kimenetet.
  • 🤖 AI segítség: A mesterséges intelligencia által fejlesztett kódolóeszközök észlelik a hiányzó előtagokat, és pontos refaktorokat javasolnak.

ezt a kulcsszót Java

Miben található ez a kulcsszó? Java?

Az ezt a kulcsszót Java egy referenciaváltozó, amely egy metódus vagy egy konstruktor aktuális objektumára hivatkozik. A kulcsszó használatának fő célja a Java célja, hogy kiküszöbölje az azonos nevű osztályattribútumok és paraméterek közötti zavart.

Ennek a kulcsszónak a használata Java

A következőkben a kulcsszó különböző felhasználási módjait láthatjuk Java:

  • Használható az aktuális osztály példányváltozójára való hivatkozásra.
  • Használható az aktuális osztály konstruktorának meghívására vagy inicializálására.
  • Argumentumként átadható egy metódushívásban.
  • Argumentumként átadható egy konstruktorhívásban.
  • Használható az aktuális osztálypéldány visszaadására.

Kattints itt ha a videó nem érhető el

Hogyan értsük meg ezt a kulcsszót egy példával

ezt a kulcsszót Java
Java ezt a kulcsszót Példa

  1. Osztály: osztály Számla
  2. Példányváltozó: a és b
  3. Módszer Adatok beállítása: A és b értékének beállítása.
  4. Módszer Adatok megjelenítése: A és b értékeinek megjelenítése.
  5. Fő módszer: ahol létrehozunk egy objektumot az Account osztályhoz, és meghívjuk a set data és a show data metódusokat.

Séta a fordítóprogram zűrzavarán keresztül

Fordítsuk le és futtassuk a kódot.

Az A és B számára várt kimenetet 2-re, illetve 3-ra kell inicializálni.

De az érték 0. Miért? Vizsgáljuk meg.

ezt a kulcsszót Java

A Set data metódusban az argumentumokat a-ként és b-ként deklaráljuk, míg a példányváltozókat szintén a-nak és b-nek nevezzük.

ezt a kulcsszót Java

Végrehajtás közben a fordító zavarban van. Vajon a hozzárendelt operátor bal oldalán lévő „a” a példányváltozó vagy a lokális változó-e. Ezért nem állítja be az „a” értékét, amikor a metódus adatkészletet hívják.

ezt a kulcsszót Java

A megoldás ebben a kulcsszóban rejlik.

Fűzd be az „a” és a „b” betűt is a következővel: Java ezt a kulcsszót egy pont (.) operátor követi.

ezt a kulcsszót Java

A kód végrehajtása során, amikor egy objektum meghívja a setdata metódust, a this kulcsszót az „obj” objektumkezelő váltja fel. (Lásd az alábbi képet.)

ezt a kulcsszót Java

Tehát most a fordító tudja,

  • A bal oldalon található „a” egy példányváltozó.
  • Míg a jobb oldalon található „a” egy lokális változó.

Az változók helyesen inicializálódnak, és megjelenik a várt kimenet.

ezt a kulcsszót Java

Hogyan kezeli a fordítóprogram a több objektumot

Tegyük fel, hogy különböző neveket választasz a példányváltozóknak és a metódus argumentumainak.

ezt a kulcsszót Java

De ezúttal két objektumot hoz létre az osztályból, amelyek mindegyike a set data metódust hívja meg.

Hogyan fogja a fordítóprogram meghatározni, hogy az 1-es vagy a 2-es objektum példányváltozóján kell-e dolgoznia?

ezt a kulcsszót Java

Nos, a A fordító implicit módon hozzáfűzi a példányváltozót a this kulcsszóval (lásd az alábbi képet).

ezt a kulcsszót Java

Olyan, hogy amikor az 1. objektum a set data metódust hívja, egy példányváltozót hozzáfűz a referenciaváltozója.

ezt a kulcsszót Java

Amíg a 2. objektum a set data metódust hívja, a 2. objektum példányváltozója módosul.

ezt a kulcsszót Java

A fordítóprogram ezt automatikusan kezeli. Nem kell explicit módon hozzáfűzni a this kulcsszót, kivéve, ha egy kivételes helyzet megköveteli.

Példa: ez a kulcsszó itt: Java A Code

Példa: A kulcsszó használatának elsajátítása.

Step 1) Másolja a következő kódot egy jegyzettömbbe.

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();
 }
}

Step 2) Mentse el, fordítsa le és futtassa a kódot.

Step 3) Az a és b értéke nulla? A hiba kijavításához fűzze hozzá a 6. és 7. sort a következőhöz: ezt kulcsszó.

this.a =a;
this.b =b;

Step 4) Mentsd el, fordítsd le és futtasd a kódot. Ezúttal az a és b értékei 2-re, illetve 3-ra vannak állítva.

GYIK

A this kulcsszó az aktuális objektumra utal, amelynek a metódusa vagy konstruktora fut. Lehetővé teszi a kód számára a hozzáférést az objektum saját példánymezőihez és metódusaihoz.

Nem. A this kulcsszó egy példányhoz tartozik, míg a statikus metódusok osztályszinten léteznek. Ennek használata egy statikus metóduson belül fordítási idejű hibát okoz.

A this() függvény egy másik, az első utasítás osztályába tartozó konstruktort hív meg. Elkerüli a kód ismétlődését, és lehetővé teszi, hogy az egyik konstruktor egy túlterhelt konstruktornak delegálja a beállítást.

Az AI kódolási asszisztensek megjelölik az árnyékolt paramétereket, hozzáadják a hiányzó „this” előtagot, és átírják a konstruktorokat, hogy a „this()” láncolást és a „fluent” settereket használják, amelyek ezt a függvényt adják vissza.

A mesterséges intelligencia oktatói elmagyarázzák az objektumazonosságot, bemutatják a példány és a lokális hatókör közötti különbségeket, és lépésről lépésre példákat mutatnak be kvízekkel, amelyek megerősítik, hogy mikor kell használni a „this” kulcsszót.

Tekintse meg cikkünket Java Interjú kérdések: - Kattintson ide

Foglald össze ezt a bejegyzést a következőképpen: