Különbség ez és a szuper között Javaban

Tartalomjegyzék:

Különbség ez és a szuper között Javaban
Különbség ez és a szuper között Javaban

Videó: Különbség ez és a szuper között Javaban

Videó: Különbség ez és a szuper között Javaban
Videó: Москва слезам не верит, 1 серия (FullHD, драма, реж. Владимир Меньшов, 1979 г.) 2024, November
Anonim

Kulcskülönbség – ez vs szuper Java-ban

A „this” és „super” kulcsszavakat a Java programozásban használják. Ezek a kulcsszavak nem használhatók változóként vagy más azonosító névként. A Java támogatja az objektumorientált programozást (OOP). A program vagy szoftver objektumok segítségével modellezhető. Az objektumok telhetetlenek az osztályok használatával. Az OOP egyik pillére az öröklődés. A kód újrafelhasználhatóságát biztosítja. A már létező osztályok szuperosztályok, a származtatott osztályok pedig alosztályok. A szuper kulcsszó a szuperosztály egy objektumára hivatkozhat. A rendszerben több objektum található. A „this” kulcsszó egy aktuális objektumra utal. A legfontosabb különbség ez és a szuper között az, hogy a „this” egy referenciaváltozó, amely az aktuális objektumra hivatkozik, míg a „super” egy referenciaváltozó, amelyet az azonnali szuperosztály objektumra használnak.

Mi ez a Java-ban?

A „this” kulcsszó egy aktuális objektumra vonatkozik. Nézze meg az adott Java programot.

Különbség ez és a szuper között Java-ban
Különbség ez és a szuper között Java-ban

01. ábra: Java program ezzel a kulcsszóval

A Java-ban háromféle változó létezik. Ezek példányváltozók, lokális változók és osztályváltozók. A fenti program szerint az Employee osztálynak két példányváltozója van. Ezek az azonosítók és a név. A lokális változók azok a változók, amelyek a metódusokhoz tartoznak. Az osztályváltozókat minden objektum megosztja. Az azonosító és a név átadásra kerül az Employee konstruktornak. Ha a programozó id=id; nem inicializálja a példányváltozókat, mert a Constructornak már van azonosítója és neve. A például változóknak nincsenek értékei. Tehát kinyomtatva nullát jelenít meg. Ennek használatakor az aktuális objektumra hivatkozik. Ezért az azonosító és név megadása a konstruktornak beállíthatja a példányváltozókat.

A ‘this’ kulcsszó az aktuális osztálymetódus meghívására használható. Lásd az adott java programot.

nyilvános osztály ThisDemo{

public static void main(String args){

Myclass myClass=new Myclass();

myClass. B();

}

}

class Myclass{

public void A(){

System.out.println(“A”);

}

public void B(){

System.out.prinltn(“B”);

this. A();

}

}

A Myclass osztály két metódust tartalmaz. Ezek az A és B metódusok. Amikor létrehozunk egy Myclass objektumot és meghívjuk a B metódust, B, A kimenetet fog kiírni. A B metódusban a B kinyomtatása után van egy utasítás, mint ez. A(). Ezzel az aktuális osztálymetódus került meghívásra.

Ez a kulcsszó az aktuális osztálykonstruktor meghívására is használható. Nézze meg az adott programot.

nyilvános osztály ThisDemo{

public static void main(String args){

A obj=new A(5);

}

}

A osztály{

nyilvános A(){

System.out.println(“A konstruktor”);

}

nyilvános A(int x){

this();

System.out.println(“A paraméterezett konstruktor”);

}

}

A fenti program szerint az A osztálynak van egy alapértelmezett konstruktora és egy paraméterezett konstruktora. Az A objektum létrehozásakor a paraméterezett konstruktor meghívásra kerül. A paraméterezett konstruktorban van egy ilyen utasítás (); Meghívja az aktuális osztálykonstruktort, amely A().

Mi a szuper a Java-ban?

A „szuper” kulcsszó az öröklődéshez kapcsolódik. Az öröklődés az objektum-orientált programozás egyik fő fogalma. Lehetővé teszi a már meglévő osztály tulajdonságainak és metódusainak felhasználását egy új osztályhoz. A már meglévő osztályt szülő osztálynak vagy szuperosztálynak nevezzük. Az új osztály gyermekosztályként vagy alosztályként ismert.

A „szuper” egy referenciaváltozó, amely a közvetlen szülő osztály objektumra hivatkozik. A szuper kulcsszó hivatkozhat közvetlen szülő osztálypéldányváltozóra, vagy meghívhatja az azonnali szülő osztály metódusát. A szuper() a közvetlen szülőosztály konstruktor meghívására szolgál.

Tegyük fel, hogy két osztály van, mint A és B. Az A osztály a szuperosztály, a B osztály pedig az alosztály. Az A és B osztálynak egyaránt van megjelenítési módja.

A nyilvános osztály{

public void display(){

System.out.println(“A”);

}

}

public B osztály kiterjeszti A{

public void display(){

System.out.println(“B”);

}

}

B típusú objektum létrehozásakor és a metódusmegjelenítés meghívásakor a B kimenetet adja. Az A osztály rendelkezik a megjelenítési módszerrel, de a B alosztályú megjelenítési metódus felülírja. Ha a programozó meg akarja hívni a megjelenítési metódust az A osztályban, akkor használhatja a szuper kulcsszót. Nézze meg az adott Java programot.

Különbség ez és a szuper között a Java-ban_Figure 02
Különbség ez és a szuper között a Java-ban_Figure 02

02. ábra: Java program szuper kulcsszó használatával

A fenti program szerint az A osztálynak van egy 10 értékű nevű változója. A B osztály kiterjeszti A-t és van egy változó nevű változója 20 értékű. Általában B típusú objektum létrehozásakor és a megjelenítési metódus meghívásakor meg kell adnia az alosztály számát, mert a szuperosztály értékét felülírja az új osztály. A super.num használatával a szuperosztályszám értéke kinyomtatásra kerül.

A szuper() a szuperosztály konstruktor meghívására használható. Tekintse meg az alábbi programot.

nyilvános osztály Fő {

public static void main(String args){

B obj=új B();

}

}

A osztály{

A(){

System.out.println(“A”);

}

}

B osztály kiterjeszti A{

B(){

szuper();

System.out.println(“B”);

}

}

A fenti program szerint az A osztálynak A () konstruktora van. A B osztály a B () konstruktorral rendelkezik. A B osztály kiterjeszti az A osztályt. B típusú objektum létrehozásakor az A, B kimenetet fogja nyomtatni. A B () konstruktornak van szuper (). Ezért először az A konstruktort hívják meg, majd a B-re lépnek. Annak ellenére, hogy a szuper () nincs írva, alapértelmezés szerint a szülő konstruktor kerül meghívásra.

A módszert használó szuper a következő.

Legfontosabb különbség ez és a szuper között a Java-ban
Legfontosabb különbség ez és a szuper között a Java-ban

03. ábra: Java program, amely meghívja a szuperosztály metódust

A fenti program szerint az A osztály rendelkezik megjelenítési módszerrel. A B osztálynak is van megjelenítési módja. A B osztály kiterjeszti az A-t. B típusú objektum létrehozásakor és a megjelenítési metódus meghívásakor A és B kimenet lesz. A B osztályú megjelenítési metódusban az A osztályú megjelenítési metódus a super.display() segítségével kerül meghívásra. Ez a módszer először az „A” betűt írja ki. Ezután kiírja a „B” betűt.

Mi a hasonlóság ez és a szuper között?

Mindkettő kulcsszó a Java programozásban

Mi a különbség ez és a szuper között?

Ez a szuper ellenében

A ‘this’ egy referenciaváltozó, amely az aktuális objektumra hivatkozik. A „szuper” egy referenciaváltozó, amely egy közvetlen szuperosztály objektumra hivatkozik.
Példányváltozó
Egy aktuális osztálypéldányváltozó hivatkozható ezzel. A szuperosztály-példányváltozó a super használatával hivatkozhat.
Osztály módszer
Az aktuális osztálymetódus ezzel hívható meg. A szuperosztály metódusa a super használatával hívható meg.
Konstruktor
Az aktuális osztálykonstruktor ezzel(). A szuperosztály-konstruktor a super() segítségével hívható meg.

Összefoglaló – ez kontra szuper Java-ban

A „this” és a „super” kulcsszavakat a Java nyelvben használják. A kulcsszavak nem használhatók változóként vagy más azonosító névként. Úgy tűnik, ugyanazok, de van különbség. A különbség e és a super között az, hogy a super egy referenciaváltozó, amely az azonnali szuperosztály objektumra hivatkozik, míg ez egy referenciaváltozó, amely az aktuális objektumra hivatkozik.

Töltse le a PDF-et a vs szuperről Java-ban

Letöltheti ennek a cikknek a PDF-verzióját, és offline célokra használhatja az idézet jegyzetének megfelelően. Kérjük, töltse le a PDF verziót innen: Különbség a Java és a szuper között

Ajánlott: