Rozdiel medzi týmto a super v Jave

Kľúčový rozdiel - toto vs super v Jave
 

Kľúčové slová „this“ a „super“ sa používajú v programovaní v jazyku Java. Tieto kľúčové slová nemožno použiť ako premenné alebo iné meno identifikátora. Java podporuje Object Oriented Programming (OOP). Program alebo softvér možno modelovať pomocou objektov. Objekty sú vhodné na použitie tried. Jedným z pilierov OOP je dedičstvo. Poskytuje opakované použitie kódu. Triedy, ktoré už existujú, sú nadtriedy a odvodené triedy sú podtriedy. Super kľúčové slovo sa môže použiť na označenie objektu nadtriedy. V systéme je viacero objektov. Kľúčové slovo „toto“ sa používa na označenie aktuálneho objektu. kľúčový rozdiel medzi týmto a super je “toto je referenčná premenná, ktorá sa používa na označenie aktuálneho objektu zatiaľ čo „super“ je referenčná premenná, ktorá sa používa na odkazovanie na objekt okamžitej nadtriedy. 

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo je to v Java
3. Čo je super v Jave
4. Podobnosti medzi týmto a super v Jave
5. Vedľajšie porovnanie - to vs super v Jave v tabuľkovej forme
6. Zhrnutie

Čo je to v Java?

Kľúčové slovo „this“ sa používa na označenie aktuálneho objektu. Prezrite si daný program Java.

Obrázok 01: Program Java pomocou tohto kľúčového slova

V jazyku Java existujú tri typy premenných. Sú to premenné inštancie, lokálne premenné a premenné triedy. Podľa vyššie uvedeného programu má trieda Zamestnanec dve premenné inštancie. Sú to ID a meno. Lokálne premenné sú premenné, ktoré patria medzi metódy. Premenné triedy sú zdieľané všetkými objektmi. ID a meno sa odovzdajú konštruktorovi zamestnanca. Ak programátor píše id = id; nebude inicializovať premenné inštancie, pretože Konštruktor už má ID a meno. Neexistujú žiadne hodnoty napríklad premenných. Pri ich tlači sa teda zobrazí hodnota null. Keď sa použije, odkazuje na aktuálny objekt. Konštruktor preto môže dať premennej inštancie zadaním ID a mena.

Kľúčové slovo „this“ sa môže použiť na vyvolanie aktuálnej metódy triedy. Pozrite si daný program java.

public class ThisDemo

public static void main (String [] args)

Myclass myClass = new Myclass ();

myClass.B ();

trieda Myclass

verejné neplatné A ()

System.out.println ( "A");

verejné neplatné B ()

System.out.prinltn ( "B");

toto();

Trieda Myclass obsahuje dve metódy. Sú to metóda A a B. Pri vytváraní objektu Myclass a vyvolaním metódy B sa ako výstup vytlačí B, A. V metóde B je po tlači B vyhlásenie ako je táto.A (). Pri použití tohto bola vyvolaná súčasná metóda triedy.

Toto kľúčové slovo je tiež možné použiť na vyvolanie aktuálneho konštruktora triedy. Odovzdajte daný program.

public class ThisDemo

public static void main (String [] args)

A obj = nový A (5);

trieda A

verejné A ()

System.out.println („Konštruktor A“);

verejné A (int x)

Táto ();

System.out.println („Parameterizovaný konštruktor A“);

Podľa vyššie uvedeného programu má trieda A predvolený konštruktor a parametrizovaný konštruktor. Pri vytváraní objektu A sa volá parametrizovaný konštruktor. V parametrizovanom konštruktore je príkaz ako je tento (); Zavolá aktuálneho konštruktora triedy, ktorý je A ().

Čo je super v Jave?

Kľúčové slovo „super“ súvisí s dedičstvom. Dedičnosť je hlavným konceptom objektovo orientovaného programovania. Umožňuje použitie vlastností a metód už existujúcej triedy na novú triedu. Už existujúca trieda sa nazýva rodičovská trieda alebo nadtrieda. Nová trieda sa nazýva podradená trieda alebo podtrieda.

„Super“ je referenčná premenná, ktorá sa používa na označenie objektu okamžitej nadradenej triedy. Super kľúčové slovo môže odkazovať na premennú inštancie okamžitej nadradenej triedy alebo na vyvolanie metódy okamžitej nadradenej triedy. Super () sa používa na vyvolanie okamžitého konštruktora rodičovskej triedy.

Predpokladajme, že existujú dve triedy ako A a B. Trieda A je nadtrieda a trieda B je podtrieda. Trieda A, B má zobrazovaciu metódu.

verejná trieda A

verejné neplatné zobrazenie ()

System.out.println ( "A");

verejná trieda B rozširuje A

verejné neplatné zobrazenie ()

System.out.println ( "B");

Pri vytváraní objektu typu B a vyvolaní zobrazenia metódy dáva výstup B. trieda A má spôsob zobrazenia, ale je potlačená metódou podtriedy B. Ak chce programátor zavolať spôsob zobrazenia v triede A, môže použiť super kľúčové slovo. Prezrite si daný program Java.

Obrázok 02: Program Java pomocou super kľúčového slova

Podľa vyššie uvedeného programu má trieda A premennú pomenované číslo s hodnotou 10. Trieda B sa rozširuje A a má premennú pomenované číslo s hodnotou 20. Všeobecne by sa pri vytváraní objektu typu B a volaní metódy zobrazenia malo číslo uviesť v podtrieda, pretože hodnota nadtriedy je prepísaná novou triedou. Použitím čísla super.num sa vytlačí hodnota čísla nadtriedy.

Super () možno použiť na volanie konštruktora nadtriedy. Pozrite si nasledujúci program.

verejná trieda Hlavná

public static void main (String [] args)

B obj = nový B ();

trieda A

A ()

System.out.println ( "A");

trieda B sa rozširuje A

B ()

Super();

System.out.println ( "B");

Podľa vyššie uvedeného programu má trieda A konštruktora A (). Trieda B má konštruktora B (). Trieda B rozširuje triedu A. Pri vytváraní objektu typu B bude ako výstup tlačiť A, B. Konštruktor B () má super (). Preto sa najskôr vyvolá konštruktor A a potom prejde na B. Hoci super () nie je napísané, predvolene sa rodičovský konštruktor nazýva.

Super použitie tejto metódy je nasledujúce.

Obrázok 03: Program Java, ktorý vyvoláva metódu nadtriedy

Podľa vyššie uvedeného programu má trieda A spôsob zobrazenia. Trieda B má tiež zobrazovaciu metódu. Trieda B sa rozširuje A. Pri vytváraní objektu typu B a volanie metódy zobrazenia dá výstup ako A a B. V spôsobe zobrazenia triedy B sa metóda zobrazenia triedy A volá pomocou super.display (). Táto metóda vytlačí najskôr písmeno „A“. Potom vytlačí „B“.

Aká je podobnosť medzi týmto a super?

  • Obidve sú kľúčové slová v programovaní Java.

Aký je rozdiel medzi týmto a super?

To vs Super

„Toto“ je referenčná premenná, ktorá sa používa na označenie aktuálneho objektu. „Super“ je referenčná premenná, ktorá sa používa na označenie okamžitého objektu nadtriedy.
 Premenná inštancie
Pomocou tohto sa dá odkázať na aktuálnu premennú inštancie triedy. Premenná inštancie nadtriedy sa môže uvádzať pomocou super.
Metóda triedy
Týmto spôsobom je možné vyvolať súčasnú metódu triedy. Metódu nadtriedy je možné vyvolať pomocou super.
 staviteľ
Pomocou tohto () je možné vyvolať aktuálneho konštruktora triedy.. Konštruktor nadtriedy je možné vyvolať pomocou super ().

Zhrnutie - toto vs super v Jave

Kľúčové slová „this“ a „super“ sa používajú v jazyku Java. Kľúčové slová nemôžu byť použité ako premenné alebo iné meno identifikátora. Zdá sa, že sú rovnaké, ale majú rozdiel. Rozdiel medzi týmto a super je v tom, že super je referenčná premenná, ktorá sa používa na odkazovanie na objekt okamžitej nadtriedy, zatiaľ čo toto je referenčná premenná, ktorá odkazuje na aktuálny objekt..

Stiahnite si PDF tohto verzus super v jazyku Java

Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ju na účely offline podľa citácie. Stiahnite si PDF verziu tu: Rozdiel medzi týmto a super v Jave

referencie:

1.Toto () a super kľúčové slovo v jave a jeho účel s krátkym príkladom, znalosť Atozu, 31. januára 2015. K dispozícii tu 
2. „Toto kľúčové slovo v jave - java point.“ K dispozícii tu  
3.tutorialspoint.com. „Dedičnosť Java.“ The Point, k dispozícii tu