Forskjellen Mellom Dette Og Super I Java

Innholdsfortegnelse:

Forskjellen Mellom Dette Og Super I Java
Forskjellen Mellom Dette Og Super I Java

Video: Forskjellen Mellom Dette Og Super I Java

Video: Forskjellen Mellom Dette Og Super I Java
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, November
Anonim

Nøkkelforskjell - dette mot super i Java

Nøkkelordene 'dette' og 'super' brukes i Java-programmering. Disse nøkkelordene kan ikke brukes som variabler eller noe annet identifikasjonsnavn. Java støtter Object Oriented Programming (OOP). Programmet eller programvaren kan modelleres med objekter. Objekter er umettede ved hjelp av klasser. En søyle i OOP er arv. Det gir gjenbrukbar kode. Klassene som allerede eksisterer er superklasser, og de avledede klassene er underklasser. Super-nøkkelordet kan brukes til å henvise til et objekt fra superklassen. Det er flere objekter i systemet. Nøkkelordet 'dette' brukes til å henvise til et gjeldende objekt. Hovedforskjellen mellom dette og super er 'dette' er en referansevariabel som brukes til å referere det nåværende objektet mens 'super' er en referansevariabel som brukes til å referere 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. Sammenligning side om side - dette vs super i Java i tabellform

6. Sammendrag

Hva er dette i Java?

Nøkkelordet 'dette' brukes til å henvise til et gjeldende objekt. Henvis til det gitte Java-programmet.

Forskjellen mellom dette og super i Java
Forskjellen mellom dette og super i Java

Figur 01: Java-program ved hjelp av dette nøkkelordet

I Java er det tre typer variabler. De er forekomstvariabler, lokale variabler og klassevariabler. I henhold til det ovennevnte programmet har klasse Ansatt to instansvariabler. De er id og navn. Lokale variabler er variablene tilhører metoder. Klassevariabler deles av alle objekter. ID og navn overføres til medarbeiderkonstruktøren. Hvis programmereren skriver id = id; det vil ikke initialisere forekomstvariablene fordi konstruktøren allerede har id og navn. Det er ingen verdier for eksempel variabler. Så, hvis du skriver ut dem, vises null. Når du bruker dette, refererer det til gjeldende objekt. Derfor kan id og navn til konstruktøren angi forekomstvariablene.

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

offentlig klasse ThisDemo {

public static void 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 fra Myclass og påkaller metoden B, vil den skrive ut B, A som utdata. I metode B er det etter utskrift B en uttalelse som denne. A (). Ved å bruke dette ble gjeldende klassemetode påkalt.

Det er også mulig å bruke dette nøkkelordet for å påkalle gjeldende klassekonstruktør. Henvis til det gitte programmet.

offentlig klasse ThisDemo {

public static void main (String args) {

A obj = ny A (5);

}

}

klasse A {

offentlig A () {

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

}

offentlig A (int x) {

dette();

System.out.println (“Parameterized Constructor A”);

}

}

I henhold til det ovennevnte programmet har klasse A en standardkonstruktør 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 denne (); Den vil kalle gjeldende klassekonstruktør som er A ().

Hva er super i Java?

Nøkkelordet 'super' er relatert til arv. Arv er et hovedkonsept med objektorientert programmering. Det tillater bruk av egenskapene og metodene til den allerede eksisterende klassen til en ny klasse. Den allerede eksisterende klassen er kjent som overordnet klasse eller superklasse. Den nye klassen er kjent som barneklassen eller underklassen.

'Super' er en referansevariabel som brukes til å henvise det nærmeste overordnede klasseobjektet. Supernøkkelordet kan henvise variabel til umiddelbar overordnet klasse eller påberope metoden for umiddelbar overordnet klasse. Super () brukes til å påkalle øyeblikkelig foreldreklassekonstruktør.

Anta at det er to klasser som A og B. Klasse A er superklassen og klasse B er underklassen. Klasse A, B har begge visningsmetode.

offentlig klasse A {

offentlig tomromvisning () {

System.out.println (“A”);

}

}

offentlig klasse B utvider A {

offentlig tomromvisning () {

System.out.println (“B”);

}

}

Når du oppretter et objekt av type B og kaller metodevisningen, vil det gi utdata B. klasse A har visningsmetoden, men den blir overstyrt av underklasse B-visningsmetoden. Hvis programmereren vil kalle visningsmetoden i klasse A, kan han bruke supernøkkelordet. Henvis til det gitte Java-programmet.

Forskjellen mellom dette og super i Java Figur 02
Forskjellen mellom dette og super i Java Figur 02

Figur 02: Java-program ved hjelp av super søkeord

I henhold til det ovennevnte programmet har klasse A en variabel som heter nummer med verdi 10. Klasse B strekker seg A og har en variabel som heter nummer med verdi 20. Generelt sett, når du lager et objekt av type B og ringer visningsmetoden, bør tallet gi underklassen fordi superklasseverdien overstyres av den nye klassen. Ved å bruke super.num blir superklassens tallverdi skrevet ut.

Super () kan brukes til å ringe superklassekonstruktøren. Se programmet nedenfor.

offentlig klasse Main {

public static void 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 henhold til ovennevnte program har klasse A en konstruktør 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 utdata. 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.

Super ved hjelp av metoden er som følger.

Hovedforskjell mellom dette og super i Java
Hovedforskjell mellom dette og super i Java

Figur 03: Java-program som påkaller superklassemetoden

I følge programmet ovenfor har klasse A visningsmetode. Klasse B har også visningsmetode. Klasse B strekker A. Når du lager et objekt av type B og ringer, vil visningsmetoden gi utdata som A og B. I klasse B-visningsmetode kalles klasse A-visningsmetode ved hjelp av super.display (). Denne metoden skriver ut "A" først. Skriver deretter ut “B”.

Hva er likheten mellom dette og super?

Begge er nøkkelord i Java-programmering

Hva er forskjellen mellom dette og super?

Diff Article Midt før tabell

Dette vs Super

Dette er en referansevariabel som brukes til å henvise det gjeldende objektet. 'Super' er en referansevariabel som brukes til å henvise til et øyeblikkelig superklasseobjekt.
Instansvariabel
En gjeldende klasseinstansvariabel kan henvises ved hjelp av denne. Superclass-forekomstvariabel kan henvises ved hjelp av super.
Klassemetode
Gjeldende klassemetode kan påberopes ved hjelp av denne. Superklassemetoden kan påberopes ved hjelp av super.
Konstruktør
Gjeldende klassekonstruktør kan påberopes ved hjelp av dette (). Superclass-konstruktør kan påberopes ved hjelp av super ().

Sammendrag - dette vs super i Java

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

Last ned PDF av denne vs super i Java

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til frakoblede formål som angitt i en henvisning. Last ned PDF-versjonen her: Forskjellen mellom dette og super i Java

Anbefalt: