Forskjellen mellom dette og super i Java

Nøkkelforskjell - dette vs super i Java
 

Søkeordene 'this' og 'super' brukes i Java programmering. Disse søkeordene kan ikke brukes som variabler eller andre identifikasjonsnavn. Java støtter Object Oriented Programming (OOP). Programmet eller programvaren kan modelleres ved hjelp av objekter. Objekter er utålmodige ved hjelp av klasser. En søyle med OOP er arv. Det gir kodegenbruk. Klassene som allerede eksisterer er superklasser, og de avledede klassene er underklasser. Det supre søkeordet kan brukes til å referere til et objekt av superklassen. Det er flere objekter i systemet. 'Dette' søkeordet brukes til å referere til et nåværende objekt. De nøkkelforskjell mellom dette og super er 'dette er en referansevariabel som brukes til å referere til det nåværende objektet mens "super" er en referansevariabel som brukes til å referere til umiddelbar superklasseobjekt. 

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er dette i Java
3. Hva er super i Java
4. Likheter mellom dette og super i Java
5. Side ved side-sammenligning - dette vs super i Java i tabellform
6. Sammendrag

Hva er dette i Java?

Søkeordet 'dette' brukes til å referere til et nåværende objekt. Se det angitte Java-programmet.

Figur 01: Java-program som bruker dette søkeordet

I Java er det tre typer variabler. De er instansvariabler, lokale variabler og klassevariabler. I følge programmet ovenfor har klassemedarbeider to instansvariabler. De er id og navn. Lokale variabler er variablene tilhører metoder. Klassevariabler deles av alle objekter. ID og navn sendes til ansattes konstruktør. Hvis programmereren skriver id = id; det vil ikke initialisere instansvariablene fordi Konstruktøren allerede har ID og navn. Det finnes ingen verdier for eksempel variabler. Så vil utskriftene vise null. Når du bruker dette, refererer det til det nåværende objektet. Derfor kan du gi id og navn til konstruktøren instansvariablene.

Søkeordet 'dette' kan brukes til å påkalle gjeldende klassemetode. Se det gitte Java-programmet.

offentlig klasse ThisDemo

offentlig statisk tomrom main (String [] args)

Myclass myClass = ny Myclass ();

myClass.B ();

klasse Myclass

offentlig tomrom A ()

System.out.println ( “A”);

offentlig tomrom B ()

System.out.prinltn ( “B”);

dette er();

Klassen Myclass inneholder to metoder. De er metode A og B. Når du lager et objekt av Myclass og påberoper metoden B, skrives B, A som utgang. I metode B, etter utskrift B, er det en uttalelse som dette.A (). Ved hjelp av dette ble den aktuelle klassemetoden påkalt.

Det er også mulig å bruke dette søkeordet for å påkalle den nåværende klassekonstruktøren. Se det oppgitte programmet.

offentlig klasse ThisDemo

offentlig statisk tomrom main (String [] args)

Et obj = nytt A (5);

klasse A

offentlig A ()

System.out.println ("Constructor A");

offentlig A (int x)

dette();

System.out.println ("Parameterisert Constructor A");

I henhold til det ovennevnte programmet har klasse A en standardkonstruktor og en parameterisert konstruktør. Når du lager et objekt av A, kalles den parameteriserte konstruktøren. I den parameteriserte konstruktøren er det en uttalelse som dette (); Det vil ringe den nåværende klassekonstruktøren som er A ().

Hva er super i Java?

Søkeordet "super" er knyttet til arv. Arv er et stort konsept for objektorientert programmering. Det tillater å bruke egenskapene og metodene til den allerede eksisterende klassen til en ny klasse. Den allerede eksisterende klassen er kjent som foreldreklasse eller superklasse. Den nye klassen er kjent som barneklassen eller underklassen.

Den "super" er en referansevariabel som brukes til å referere objektet for umiddelbar foreldreklasse. Det superordnede søkeordet kan referere til umiddelbar foreldreklasse-instansvariabel eller påkalle umiddelbar foreldreklasse-metode. Den super () brukes til å påkalle umiddelbar foreldre klasse konstruktør.

Anta at det er to klasser som A og B. Klasse A er superklasse og klasse B er underklasse. Klasse A, B har begge skjermmetoder.

offentlig klasse A

offentlig tomromvisning ()

System.out.println ( “A”);

offentlig klasse B strekker seg A

offentlig tomromvisning ()

System.out.println ( “B”);

Når du oppretter et objekt av type B og kaller metodevisning, vil det gi utgang B. klasse A har visningsmetode, men det er overstyrt av underklasse B displaymetode. Hvis programmereren ønsker å ringe visningsmetoden i klasse A, kan han bruke superordet. Se det angitte Java-programmet.

Figur 02: Java-program ved hjelp av superord

I henhold til det ovennevnte programmet har klasse A et variabelt navn med verdi 10. Klasse B strekker A og har et variabelt navn med verdi 20. Generelt, når du oppretter et objekt av type B og ringer, skal skjermmetoden gi nummeret i underklassen fordi superklasseverdien overskrides av den nye klassen. Ved å bruke super.num, skrives superklassenummerverdien.

Super () kan brukes til å ringe superklasse-konstruktøren. Se underprogrammet nedenfor.

offentlig klasse Main

offentlig statisk tomrom main (String [] args)

B obj = ny B ();

klasse A

EN()

System.out.println ( “A”);

klasse B strekker seg A

B ()

super();

System.out.println ( “B”);

I følge det ovennevnte programmet har klasse A en konstruktor A (). Klasse B har konstruktøren B (). Klasse B utvider klasse A. Når du lager et objekt av type B, vil det skrive ut A, B som utgang. B () konstruktøren har super (). Derfor blir A-konstruktøren først påkalt og går deretter til B. Selv om super () ikke er skrevet, kalles foreldrekonstruktøren som standard.

Den super som bruker metoden er som følger.

Figur 03: Java-program som påkaller superklasse-metoden

I henhold til det ovennevnte programmet har klasse A visningsmetode. Klasse B har også visningsmetode. Klasse B strekker A. Når du oppretter et objekt av type B og ringer, vil skjermmetoden gi utdata som A og B. I klasse B-visningsmetode kalles klasse A-visningsmetode ved bruk av super.display (). Denne metoden skriver ut "A" først. Deretter skriver "B".

Hva er likheten mellom dette og super?

  • Begge er søkeord i Java programmering.

Hva er forskjellen mellom dette og super?

Dette vs Super

'Denne' er en referansevariabel som brukes til å referere til det nåværende objektet. "Super" er en referansevariabel som brukes til å referere til en umiddelbar superklasseobjekt.
 Instansvariabel
En gjeldende klasse-instansvariabel kan henvises ved hjelp av dette. Superclass instansvariabel kan bli referert ved hjelp av super.
Klassemetode
Nåværende klassemetode kan påberopes ved hjelp av dette. Superclass metode kan påberopes ved hjelp av super.
 Constructor
Nåværende klassekonstruktør kan påberopes ved hjelp av denne (). Superclass konstruktør kan påberopes ved hjelp av super ().

Sammendrag - dette vs super i Java

Søkeordene 'this' og 'super' brukes i Java. Søkeordene kan ikke brukes som variabler eller andre identifikasjonsnavn. De ser ut til å være de samme, men de har en forskjell. Forskjellen mellom dette og super er at super er en referansevariabel som brukes til å referere til umiddelbar superklasseobjekt, mens dette er en referansevariabel som refererer til det nåværende objektet.

Last ned PDF-filen til denne vs super i Java

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til off-line formål som per sitatnotat. Vennligst last ned PDF-versjonen her: Forskjellen mellom dette og super i Java

Henvisning:

1.Dette () og superordet i java og dets formål med et kort eksempel, Atoz kunnskap, 31 Jan. 2015. Tilgjengelig her 
2. "Dette søkeordet i java - java punkt." Tilgjengelig her  
3.tutorialspoint.com. "Java arv." Poenget, Tilgjengelig her