ezt a kulcsszót Java

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

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 megszüntesse a zavart az osztályattribútumok és az azonos nevű paraméterek között.

Ennek a kulcsszónak a használata Java

Az alábbiakban bemutatjuk a „this” kulcsszó különféle felhasználásait Java:

  • Használható az aktuális osztály példányváltozójának hivatkozására
  • Az aktuális osztálykonstruktor meghívására vagy kezdeményezésére használható
  • A metódushívásban argumentumként adható át
  • A konstruktorhívásban argumentumként adható át
  • Használható az aktuális osztálypéldány visszaadására

Kattints itt ha a videó nem érhető el

Ismertesse meg az „ez” 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 a metódusok hívási adatait állítjuk be és adatokat jelenítünk meg.

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? Hadd nyomozzon.

ezt a kulcsszót Java

A Set data metódusban az argumentumok a és b-ként vannak deklarálva, míg a példányváltozók neve a és b.

ezt a kulcsszót Java

A végrehajtás során a fordító össze van zavarodva. A hozzárendelt operátor bal oldalán lévő „a” a példányváltozó vagy a helyi változó. Ezért nem állítja be az 'a' értékét a metóduskészlet adatainak meghívásakor.

ezt a kulcsszót Java

A megoldás a „this” kulcsszó

Az „a” és „b” karaktert is hozzáfűzi a Java ezt a kulcsszót egy pont (.) operátor követi.

ezt a kulcsszót Java

Kódvégrehajtás közben, amikor egy objektum meghívja a 'setdata' metódust. A „this” kulcsszót az „obj” objektumkezelő helyettesíti. (Lásd az alábbi képet).

ezt a kulcsszót Java

Tehát most a fordító tudja,

  • A bal oldalon lévő "a" egy példányváltozó.
  • Míg a jobb oldalon lévő "a" egy lokális változó

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

ezt a kulcsszót Java

Tegyük fel, hogy elég okos ahhoz, hogy különböző neveket válasszon a példányváltozók és a metódusok argumentumai számára.

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 határozza meg a fordító, hogy az 1. vagy a 2. objektum példányváltozóján kell-e működnie.

ezt a kulcsszót Java

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

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

Erről a folyamatról maga a fordító gondoskodik. Nem kell kifejezetten hozzáfűznie a "ez" kulcsszót, kivéve, ha olyan kivételes helyzet áll fenn, mint a példánkban.

ezt a kulcsszót Java példával

Példa: A „this” kulcsszó megtanulásához használja

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, fordítsa le és futtassa a kódot.

Step 3) A és b értéke nulla? A hiba kijavításához fűzze hozzá a 6. és 7. sort a „ezt” kulcsszó.

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

Step 4) Mentse, fordítsa le és futtassa a kódot. Ezúttal az a és b értékei 2-re és 3-ra vannak állítva.

Összegzésként

  • ezt Kulcsszó be Java egy referenciaváltozó, amely az aktuális objektumra hivatkozik.
  • Ennek a kulcsszónak az egyik használata Java az aktuális osztálypéldányváltozóra való hivatkozás
  • Az aktuális osztálykonstruktor meghívására vagy kezdeményezésére használható
  • A metódushívásban argumentumként adható át
  • ez a mutató benne Java argumentumként adható át a konstruktorhívásban
  • ez az operátor be Java használható az aktuális osztálypéldány visszaadására
  • ezt be Java hivatkozás az aktuális objektumra, amelynek metódusát hívjuk.
  • A „this” kulcsszó használatával elkerülheti az elnevezési ütközéseket a példány/objektum metódusában/konstruktorában.

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