Mi ez a kulcsszó a Java-ban?

A Java objektum-orientált nyelv, és egyszerre sok objektum lehet jelen, azokon is, amelyekben operálhatunk, itt a „ez” kulcsszó jelenik meg a képen, mert segít az osztály aktuális példányának vagy jelenlegi objektumának megjelölésében.

Ezért amikor az aktuális osztály metódusait hívjuk meg, amikor meg akarjuk hívni az aktuális osztály konstruktorát, vissza kell adnunk az aktuális példányt a metódusoktól, átadni az aktuális példányt a metódusoknak; ezekben az esetekben ez a kulcsszó jól használható.

Példa felhasználási esetekre

  1. A többszálú szinkronizált blokk ezt a kulcsszót használja argumentumként
  2. A konstruktor túlterhelése

Miért kell ezt a kulcsszót használni a Java-ban?

  • Az 'ez' változó végső változóként funkcionál a java-ban, azaz nem adhatunk értéket 'ehhez' változóhoz, ezt ellenőrizni lehet, ha értéket rendelünk az 'ezen' kulcsszóhoz, és fordítási hibához vezet.
  • Az „ez” statikus tagokra is hivatkozhat (de ezt nem szabad megtenni), mivel a statikus tagokat csak egyszer deklarálják, azaz a memóriakiosztás csak egyszer történik, és ha megpróbálunk manipulálni „ez” kulcsszóval, akkor az mindig az adott memóriahelyen elhelyezett adatokat fogja manipulálni, ahelyett, hogy új memóriahelyekre állítana be adatokat, amelyeket az objektumok tesznek.
  • Ez megakadályozza a szükségtelen hozzárendelést a változókhoz, és időnként nem is kell létrehoznunk extra változókat, „ez a” kulcsszó, bárhol is használják, garantálja a jelenlegi példányra való hivatkozást.

Ennek a kulcsszónak a fontossága

Az alábbi példák azt mutatják, hogy különféle nevekkel kell létrehozni az egyes tulajdonságokhoz változókat, ezeket egyszerűen hozzá lehet rendelni a konstruktorhoz az objektum inicializálásakor e kulcsszó használatával.

  • Megakadályozza a tagváltozó és a helyi változó névkonfliktusát, ennek a kulcsszónak a segítségével a tagváltozóra hivatkozhatunk.

public class Student (
int marks;
String subjectName;
//constructor
public Student(int marks, String subjectName)
(
this.marks = marks;
this.subjectName=subjectName;
)
public Student()
(
)
public static void main(String args())
(
Student s = new Student(1, "name");
)
)

  • Az objektumosztály módszereire ez is felhasználható.

//consider a method shown here
public String getName()
(
return this.toString();
)

  • Ez setter és getter módszerekben használható az aktuális példányok visszaadására.

Public int getmarks()
(
return this.marks;
)
public void setMarks(int marks)
(
this.marks =marks;
)

Ennek a kulcsszónak a különleges felhasználása

Az alábbiakban ismertetjük ennek a kulcsszónak a felhasználásával:

1. Használjon mezőben

public class PointCoordinates (
public int xval = 0;
public int yval = 0;
//constructor
public PointCoordinates (int a, int b) (
xval = a;
yval = b;
)
public static void main(String args())
(
)
)

De ezt így lehetett volna írni:

public class PointCoordinates (
public int xval = 0;
public int yval= 0;
//constructor
public PointCoordinates (int xval, int yval) (
this.xval = xval;
this.yval = yval;
)
public static void main(String args())
(
)
)

Tehát ezt az előző szakaszban is kifejtettük, ahol látható, hogy az egyik fajta adatmező elnevezési szabályai egységesek lehetnek, ha az „ezt” kulcsszót használjuk.

Ezért a fejlesztőnek nem szabad nyomon követnie vagy feltérképeznie a változók diagramját ugyanolyan típusú logikai adatmezőnél.

2. Kivitelező meghívása ennek a kulcsszónak a felhasználásával

Ezt a kulcsszót használhatjuk egy konstruktoron belül, és onnan egy másik konstruktorra hívhatunk, ugyanabba az osztályba. Ezt nevezzük explicit konstruktorhívásnak is.

Fontoljuk meg az alább bemutatott példát ugyanazra -

public class Square (
private int x;
private int side;
public Square () (
this(1);
)
public Square (int side) (
this(0, side);
)
public Square (int x, int side) (
this.x = x;
this.side = side;
)
public static void main(String args())
(
)
)

A képen három konstruktor van itt, vegye figyelembe, hogy az alapértelmezett kivitelezőt kifejezetten el kell helyezni, amikor konstruktor túlterhelést végezzünk.

Ezek a konstruktorok néhány tagváltozót inicializálnak, a fordító itt a metódusban alkalmazott paraméterek számával kap jelzést a konstruktor meghívásáról.

3. A jelenlegi osztálypéldány visszatérése ezzel a kulcsszóval

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
//Method to return current class instance
Rectangle getObject()
(
return this;
)
public void print()
(
System.out.println(height+", "+ width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject().print();
)
)

Tehát a fenti példában látható, hogy az aktuális objektum egy getter módszerrel kerül visszaadásra, és erre a példányra az adott “print” módszer került hivatkozásra.

4. Használja módszerparaméterként

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
void getObject()
(
print(this);
)
public void print(Rectangle object)
(
System.out.println(object.height + ", " + object.width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject();
)
)

A példában szerepel, hogy az aktuális objektum hogyan kerül átadásra egy módszerhez, amely felhasználhatja ezt az objektumot az egyéni használatra.

Következtetés

Különböző használati eseteket láthatunk itt, hivatkozva a java használatának ellentmondásaira, valamint arra, hogy hol kell használni, hol nem, ezeket a feltételeket kifejezetten meghatározták.
Az 'ez' kulcsszó általános a programozási nyelvek között, a javascript alapú keretekben is, 'ez' kulcsszerepet játszik.
Az 'ez' kulcsszó fölötté válhat, ha nem értik meg jól, és ha helyesen értik, nagy segítséget nyújt a fejlesztők számára.

Ajánlott cikkek

Ez egy útmutató ehhez a kulcsszóhoz a java-ban. Itt tárgyaljuk a java-ban szereplő kulcsszó fontosságát, bizonyos felhasználásait és példáit, valamint a kód megvalósítását. A következő cikkeket is megnézheti további információkért -

  1. Objektum Java-ban
  2. Beágyazás a JavaScript-be
  3. Statikus kulcsszó a Java-ban
  4. Túlterhelés és felülbírálás a Java-ban
  5. A Python működése és szabályai

Kategória: