Atšķirība starp šo un super Java

Satura rādītājs:

Atšķirība starp šo un super Java
Atšķirība starp šo un super Java

Video: Atšķirība starp šo un super Java

Video: Atšķirība starp šo un super Java
Video: Java SE. Урок 21. Наследование. Использование this и super 2024, Novembris
Anonim

Galvenā atšķirība - šī pret izcilību Java

Atslēgvārdi “this” un “super” tiek izmantoti Java programmēšanā. Šos atslēgvārdus nevar izmantot kā mainīgos vai citus identifikatora nosaukumus. Java atbalsta objektorientēto programmēšanu (OOP). Programmu vai programmatūru var modelēt, izmantojot objektus. Objekti ir neapmierināti, izmantojot klases. Viens OOP pīlārs ir mantošana. Tas nodrošina koda atkārtotu izmantošanu. Jau esošās klases ir virsklases, un atvasinātās klases ir apakšklases. Super atslēgvārdu var izmantot, lai atsauktos uz superklases objektu. Sistēmā ir vairāki objekti. Atslēgvārds “šis” tiek izmantots, lai atsauktos uz pašreizējo objektu. Galvenā atšķirība starp šo un super ir “this” ir atsauces mainīgais, ko izmanto, lai atsauktos uz pašreizējo objektu, savukārt “super” ir atsauces mainīgais, ko izmanto, lai atsauktos uz tūlītēju virsklases objektu.

Kas tas ir Java?

Atslēgvārdu “this” izmanto, lai atsauktos uz pašreizējo objektu. Skatiet norādīto Java programmu.

Atšķirība starp šo un super Java
Atšķirība starp šo un super Java

Attēls 01: Java programma, izmantojot šo atslēgvārdu

Java ir trīs veidu mainīgie. Tie ir gadījumu mainīgie, lokālie mainīgie un klases mainīgie. Saskaņā ar iepriekš minēto programmu klasei Darbinieks ir divi mainīgie. Tie ir ID un vārds. Vietējie mainīgie ir mainīgie, kas pieder pie metodēm. Klases mainīgos koplieto visi objekti. ID un nosaukums tiek nodots darbinieka konstruktoram. Ja programmētājs raksta id=id; tas netiks inicializēts instanču mainīgos, jo konstruktoram jau ir ID un nosaukums. Piemēram, mainīgajiem nav vērtību. Tātad, tos drukājot, tiks parādīta nulle. Izmantojot šo, tas attiecas uz pašreizējo objektu. Tāpēc, piešķirot konstruktoram ID un nosaukumu, var iestatīt gadījumu mainīgos.

Atslēgvārdu “this” var izmantot, lai izsauktu pašreizējo klases metodi. Skatiet norādīto Java programmu.

publiskā klase ThisDemo{

public static void main(String args){

Myclass myClass=new Myclass();

manaKlase. B();

}

}

klase Myclass{

publisks spēkā neesošs A(){

System.out.println(“A”);

}

publisks spēkā neesošs B(){

System.out.prinltn(“B”);

this. A();

}

}

Klasē Myclass ir divas metodes. Tās ir metode A un B. Veidojot Myclass objektu un izsaucot metodi B, kā izvade tiks drukāta B, A. Metodē B pēc B drukāšanas ir paziņojums kā this. A(). Izmantojot to, tika izsaukta pašreizējā klases metode.

Šo atslēgvārdu var arī izmantot, lai izsauktu pašreizējo klases konstruktoru. Skatiet norādīto programmu.

publiskā klase ThisDemo{

public static void main(String args){

A obj=jauns A(5);

}

}

A klase{

publisks A(){

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

}

publisks A(int x){

this();

System.out.println(“Parameterizētais konstruktors A”);

}

}

Saskaņā ar iepriekš minēto programmu A klasei ir noklusējuma konstruktors un parametrizēts konstruktors. Veidojot A objektu, tiek izsaukts parametrizētais konstruktors. Parametrizētajā konstruktorā ir šāds paziņojums (); Tas izsauks pašreizējo klases konstruktoru, kas ir A().

Kas ir super Java?

Atslēgvārds “super” ir saistīts ar mantojumu. Mantojums ir galvenais objektorientētās programmēšanas jēdziens. Tas ļauj izmantot jau esošās klases īpašības un metodes jaunai klasei. Jau esošā klase ir pazīstama kā vecākklase vai virsklase. Jaunā klase ir pazīstama kā pakārtotā klase vai apakšklase.

Super ir atsauces mainīgais, ko izmanto, lai atsauktos uz tiešo vecākklases objektu. Superatslēgvārds var atsaukties uz tiešās vecākklases instances mainīgo vai izsaukt tūlītējās vecākklases metodi. Super() tiek izmantots, lai izsauktu tūlītēju vecāku klases konstruktoru.

Pieņemsim, ka ir divas klases A un B. A klase ir virsklase un B klase ir apakšklase. Abām A un B klasēm ir attēlošanas metode.

publiskā klase A{

publisks tukšs displejs(){

System.out.println(“A”);

}

}

publiskā B klase paplašina A{

publisks tukšs displejs(){

System.out.println(“B”);

}

}

Izveidojot B tipa objektu un izsaucot metodes displeju, tas dos izvadi B. A klasei ir displeja metode, bet to ignorē B apakšklases displeja metode. Ja programmētājs vēlas izsaukt displeja metodi A klasē, viņš var izmantot super atslēgvārdu. Skatiet norādīto Java programmu.

Atšķirība starp šo un super Java_attēlā 02
Atšķirība starp šo un super Java_attēlā 02

Attēls 02: Java programma, kas izmanto superatslēgvārdu

Saskaņā ar iepriekš minēto programmu, A klasei ir mainīgais ar nosaukumu skaitlis ar vērtību 10. B klase paplašina A un tai ir mainīgais ar nosaukumu numurs ar vērtību 20. Parasti, veidojot B tipa objektu un izsaucot displeja metodi. jānorāda numurs apakšklasē, jo virsklases vērtību ignorē jaunā klase. Izmantojot super.num, tiek izdrukāta virsklases skaitļa vērtība.

Super() var izmantot, lai izsauktu superklases konstruktoru. Skatiet tālāk norādīto programmu.

publiskā klase Galvenā {

public static void main(String args){

B obj=jauns B();

}

}

A klase{

A(){

System.out.println(“A”);

}

}

B klase paplašina A{

B(){

super();

System.out.println(“B”);

}

}

Saskaņā ar iepriekš minēto programmu A klasei ir konstruktors A (). B klasei ir konstruktors B (). B klase paplašina A klasi. Veidojot B tipa objektu, tas izdrukās A, B kā izvadi. B () konstruktoram ir super (). Tāpēc vispirms tiek izsaukts A konstruktors un pēc tam pāriet uz B. Pat ja super () nav rakstīts, pēc noklusējuma tiek izsaukts vecākkonstruktors.

Super, izmantojot šo metodi, ir šāds.

Galvenā atšķirība starp šo un super Java
Galvenā atšķirība starp šo un super Java

Attēls 03: Java programma, kas izsauc virsklases metodi

Saskaņā ar iepriekš minēto programmu A klasei ir displeja metode. B klasei ir arī displeja metode. B klase paplašina A. Izveidojot B tipa objektu un izsaucot displeja metodi, izvade tiks dota kā A un B. B klases displeja metodē A klases displeja metode tiek izsaukta, izmantojot super.display(). Šī metode vispirms izdrukā “A”. Pēc tam tiek drukāts “B”.

Kāda ir līdzība starp šo un super?

Abi ir Java programmēšanas atslēgvārdi

Kāda ir atšķirība starp šo un super?

Šis pret Super

Tas ir atsauces mainīgais, ko izmanto, lai atsauktos uz pašreizējo objektu. Super ir atsauces mainīgais, ko izmanto, lai atsauktos uz tūlītēju virsklases objektu.
Instanču mainīgais
Pašreizējo klases instances mainīgo var atsaukties, izmantojot šo. Superclass instances mainīgo var norādīt, izmantojot super.
Nodarbības metode
Pašreizējo klases metodi var izsaukt, izmantojot šo. Superklases metodi var izsaukt, izmantojot super.
Konstruktors
Pašreizējo klases konstruktoru var izsaukt, izmantojot šo(). Superklases konstruktoru var izsaukt, izmantojot super().

Kopsavilkums - šis pret super Java

Atslēgvārdi “this” un “super” tiek izmantoti Java. Atslēgvārdus nevar izmantot kā mainīgos vai citus identifikatora nosaukumus. Šķiet, ka tie ir vienādi, taču tiem ir atšķirība. Atšķirība starp šo un super ir tāda, ka super ir atsauces mainīgais, ko izmanto, lai atsauktos uz tūlītēju virsklases objektu, savukārt tas ir atsauces mainīgais, kas attiecas uz pašreizējo objektu.

Lejupielādējiet PDF formātā šī vs super Java versijā

Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit: Atšķirība starp šo un super Java

Ieteicams: