Verschil tussen dit en super in Java

Belangrijkste verschil - dit vs super in Java
 

De trefwoorden 'dit' en 'super' worden gebruikt in Java-programmering. Deze zoekwoorden kunnen niet worden gebruikt als variabelen of andere identificatienamen. Java ondersteunt Object Oriented Programming (OOP). Het programma of de software kan worden gemodelleerd met behulp van objecten. Objecten zijn insatiate met behulp van klassen. Eén pijler van OOP is erfenis. Het biedt code-herbruikbaarheid. De klassen die al bestaan, zijn superklassen en de afgeleide klassen zijn subklassen. Het superzoekwoord kan worden gebruikt om een ​​object van de superklasse te verwijzen. Er zijn meerdere objecten in het systeem. Het 'dit' sleutelwoord wordt gebruikt om een ​​huidig ​​voorwerp te verwijzen. De belangrijk verschil tussen dit en super is 'dit is een referentievariabele die wordt gebruikt om het huidige object te verwijzen terwijl 'super' een referentievariabele is die wordt gebruikt om een ​​direct superklasse-object te verwijzen. 

INHOUD

1. Overzicht en belangrijkste verschil
2. Wat is dit in Java
3. Wat is super in Java
4. Overeenkomsten Tussen dit en super op Java
5. Side-by-side vergelijking - dit versus super in Java in tabelvorm
6. Samenvatting

Wat is dit in Java?

Het sleutelwoord 'dit' wordt gebruikt om een ​​huidig ​​voorwerp te verwijzen. Raadpleeg het gegeven Java-programma.

Afbeelding 01: Java-programma met dit sleutelwoord

In Java zijn er drie soorten variabelen. Het zijn instantievariabelen, lokale variabelen en klassevariabelen. Volgens het bovenstaande programma heeft klasse Employee twee instantievariabelen. Ze zijn id en naam. Lokale variabelen zijn de variabelen die bij de methoden horen. Klassenvariabelen worden gedeeld door alle objecten. Het ID en de naam worden doorgegeven aan de constructeur van de werknemer. Als de programmeur id = id schrijft; het initialiseert de instantievariabelen niet omdat de Constructor al id en naam heeft. Er zijn geen waarden voor bijvoorbeeld variabelen. Als u ze afdrukt, wordt de waarde null weergegeven. Wanneer dit wordt gebruikt, verwijst het naar het huidige object. Daarom kan het geven van id en naam aan de constructor de instantievariabelen instellen.

Het sleutelwoord 'dit' kan worden gebruikt om de huidige klassemethode aan te roepen. Raadpleeg het gegeven Java-programma.

public class ThisDemo

public static void main (String [] args)

Myclass myClass = new Myclass ();

myClass.B ();

class Myclass

public void A ()

System.out.println ( “A”);

openbare leegte B ()

System.out.prinltn ( “B”);

dit is();

De klasse Myclass bevat twee methoden. Dit zijn methode A en B. Wanneer u een object van Myclass maakt en de methode B gebruikt, drukt u B af als de uitvoer. In methode B is er na het afdrukken van B een verklaring als this.A (). Hiermee werd de huidige klassemethode aangeroepen.

Het is ook mogelijk om dit trefwoord te gebruiken om de huidige klassenconstructor aan te roepen. Verwijs naar het gegeven programma.

public class ThisDemo

public static void main (String [] args)

Een obj = nieuwe A (5);

klasse A, eerste klasse

openbare A ()

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

publiek A (int x)

deze();

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

Volgens het bovenstaande programma heeft klasse A een standaardconstructor en een geparameteriseerde constructor. Bij het maken van een object van A wordt de geparametreerde constructor aangeroepen. In de geparametreerde constructor is er een statement als dit (); Het zal de huidige klasse-constructor bellen die A () is.

Wat is super in Java?

Het sleutelwoord 'super' heeft betrekking op overerving. Overerving is een belangrijk concept van objectgeoriënteerde programmering. Hiermee kunt u de eigenschappen en methoden van de reeds bestaande klasse naar een nieuwe klasse gebruiken. De reeds bestaande klasse staat bekend als de bovenliggende klasse of superklasse. De nieuwe klasse staat bekend als de onderliggende klasse of subklasse.

De 'super' is een referentievariabele die wordt gebruikt om naar het directe bovenliggende klassenobject te verwijzen. Het superzoekwoord kan verwijzen naar de instantievariant van de bovenliggende klasse of de directe bovenliggende klassenmethode. De super () wordt gebruikt om de constructor van de directe bovenliggende klasse aan te roepen.

Stel dat er twee klassen zijn als A en B. Klasse A is de superklasse en klasse B is de subklasse. Klasse A, B hebben beide een weergavemethode.

openbare klasse A

openbare nietige weergave ()

System.out.println ( “A”);

public class B breidt A uit

openbare nietige weergave ()

System.out.println ( “B”);

Bij het maken van een object van type B en het oproepen van de methodeweergave, geeft het de uitvoer B. klasse A heeft de weergavemethode, maar deze wordt opgeheven door de subklasse B weergavemethode. Als de programmeur de weergavemethode in klasse A wil gebruiken, kan hij het superzoekwoord gebruiken. Raadpleeg het gegeven Java-programma.

Afbeelding 02: Java-programma met superzoekwoord

Volgens het bovenstaande programma heeft klasse A een variabel benoemd nummer met waarde 10. Klasse B breidt A uit en heeft een variabele genoemd getal met waarde 20. Over het algemeen moet bij het maken van een object van type B en aanroepen van de weergavemethode het nummer worden opgegeven in de subklasse omdat de superklassewaarde wordt overschreven door de nieuwe klasse. Door de super.num te gebruiken, wordt de nummerwaarde van de superklasse afgedrukt.

De super () kan worden gebruikt om de constructor van de superklasse aan te roepen. Raadpleeg het onderstaande programma.

publieke klas Hoofd

public static void main (String [] args)

B obj = nieuwe B ();

klasse A, eerste klasse

EEN()

System.out.println ( “A”);

klasse B verlengt A

B ()

super();

System.out.println ( “B”);

Volgens het bovenstaande programma heeft klasse A een constructor A (). Klasse B heeft de constructor B (). Klasse B breidt klasse A uit. Wanneer u een object van type B maakt, drukt u A, B af als uitvoer. De constructor B () heeft super (). Daarom wordt eerst de A-constructor aangeroepen en gaat deze vervolgens naar B. Ook al is super () niet geschreven, standaard wordt de bovenliggende constructor aangeroepen.

De super met behulp van de methode is als volgt.

Figuur 03: Java-programma dat de superklassemethode oproept

Volgens het bovenstaande programma heeft klasse A weergavemethode. Klasse B heeft ook een weergavemethode. Klasse B breidt A. Wanneer u een object van type B maakt en de weergavemethode wordt aangeroepen, wordt uitvoer weergegeven als A en B. In klasse B weergavemethode wordt class A-weergavemethode aangeroepen met behulp van super.display (). Die methode drukt eerst "A" af. Dan drukt "B" af.

Wat is de gelijkenis tussen dit en super?

  • Beide zijn sleutelwoorden in het programmeren van Java.

Wat is het verschil tussen dit en super?

Dit vs Super

De 'this' is een referentievariabele die wordt gebruikt om het huidige object te verwijzen. De 'super' is een referentievariabele die wordt gebruikt om naar een onmiddellijk superklasse-object te verwijzen.
 Exemplaarvariabele
Een huidige klasse exemplaarvariabele kan hier worden doorverwezen. Superclass-instantievariabele kan worden doorverwezen via super.
Klasse methode
De huidige klassemethode kan hier worden aangeroepen. Superclass-methode kan worden aangeroepen met behulp van super.
 bouwer
De huidige klasse-constructor kan worden aangeroepen met behulp van this (). Superclass constructor kan worden aangeroepen met behulp van super ().

Samenvatting - dit vs super in Java

De trefwoorden 'dit' en 'super' worden in Java gebruikt. De zoekwoorden kunnen niet worden gebruikt als variabelen of andere identificatienamen. Ze lijken hetzelfde te zijn, maar ze hebben een verschil. Het verschil tussen dit en super is dat super een referentievariabele is die wordt gebruikt om een ​​object van directe superklasse te verwijzen, terwijl dit een referentievariabele is die verwijst naar het huidige object.

Download de PDF van dit vs super in Java

U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden, zoals per citaatnotitie. Download de PDF-versie hier: Verschil tussen dit en super in Java

Referentie:

1. Dit () en super sleutelwoord in java en zijn doel met een kort voorbeeld, Atoz kennis, 31 januari 2015. Beschikbaar Hier 
2. "Dit sleutelwoord in java - java punt." Beschikbaar Hier  
3.tutorialspoint.com. "Java Inheritance." Het punt, Beschikbaar Hier