Ez a kulcsszó Java-ban: Mi az & Hogyan használható a példa

Tartalomjegyzék:

Anonim

Mi ez a kulcsszó a Java-ban?

ez a Java kulcsszó egy referencia változó, amely egy módszer vagy egy konstruktor aktuális objektumára utal. A kulcsszó Java használatának fő célja az osztályattribútumok és az azonos nevű paraméterek közötti összetévesztés megszüntetése.

Az alábbiakban felsoroljuk a „this” kulcsszó különféle felhasználási módjait a Java-ban:

  • Használható az aktuális osztály példányváltozójának hivatkozására
  • Használható az aktuális osztály konstruktor meghívására vagy kezdeményezésére
  • Argumentumként átadható a metódushívásban
  • Argumentumként átadható a konstruktor hívásában
  • Használható az aktuális osztálypéldány visszaadására

Kattintson ide, ha a videó nem érhető el

Értse meg ezt a kulcsszót egy példával.

Java ez a kulcsszó 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 : Az a és b értékének beállítása.
  4. Módszer Adatok megjelenítése: Az a és b értékeinek megjelenítése.
  5. Fő módszer: ahol létrehozunk egy objektumot a Számla osztályhoz és a hívási módszerekhez, állítsuk be az adatokat és mutassuk meg az adatokat.

Fordítsuk le és futtassuk a kódot

Az A és B várható kimenetünket inicializálni kell a 2., illetve a 3. értékre.

De az értéke 0, miért? Hadd nyomozzon.

A Set data metódusban az argumentumokat a és b névvel deklaráljuk, míg a példányváltozókat a és b néven is.

A végrehajtás során a fordító zavaros. Az, hogy a kijelölt operátor bal oldalán "a" a példányváltozó vagy a helyi változó. Ezért nem állítja be az „a” értékét, amikor a metóduskészlet adatait meghívják.

A megoldás a "ez" kulcsszó

Az „a” és „b” szavakat csatolja a Java-hoz ehhez a kulcsszóhoz, amelyet egy pont (.) Operátor követ.

A kódfuttatás során, amikor egy objektum a setdata metódust hívja. Az "ez" kulcsszót az "obj" objektumkezelő helyettesíti. (Lásd az alábbi képet).

Tehát most a fordító tudja,

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

A változókat megfelelően inicializálják, és megjelenik a várható kimenet.

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

De ezúttal az osztály két objektumát hozza létre, mindegyik a set data metódust hívja meg.

A fordító hogyan fogja meghatározni, hogy állítólag az 1. objektum vagy a 2. objektum példányváltozóján fog-e működni.

Nos, a fordító implicit módon hozzáfűzi a példányváltozót a "this" kulcsszóhoz (kép lent).

Olyan, hogy amikor az 1. objektum meghívja a beállított adatmódszert, egy példányváltozót hozzáfűz a referenciaváltozója.

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

Erről a folyamatról maga a fordító gondoskodik. Nem kell kifejezetten hozzáfűznie ezt a kulcsszót, hacsak nincs kivételes helyzet, mint a példánkban.

Példa: A "this" kulcsszó használatának megismerése

1. lépés: 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();}}

2. lépés: Mentse, fordítsa le és futtassa a kódot.
3. lépés: Az a & b értéke nulla? A hiba kijavításához fűzze hozzá a 6. és 7. sort a " this " kulcsszóval.

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

4. lépés: Mentse, fordítsa le és futtassa a kódot. Ezúttal az a & b értéke 2, illetve 3 lesz.

Összegzés

  • ez a Java kulcsszó egy referencia változó, amely az aktuális objektumra utal.
  • Ennek a kulcsszónak a Java egyik használata az aktuális osztálypéldány-változó hivatkozása
  • Használható az aktuális osztály konstruktor meghívására vagy kezdeményezésére
  • Argumentumként átadható a metódushívásban
  • ez a Java-mutató átadható argumentumként a konstruktor hívásában
  • ez a Java operátor használható az aktuális osztálypéldány visszaadására
  • ez a Java-ban hivatkozás az aktuális objektumra, amelynek módszerét hívják.
  • Az "this" kulcsszó használatával elkerülheti a példány / objektum metódusában / konstruktorában történő elnevezési ütközéseket.