Unterschied zwischen diesem und Super in Java

Unterschied zwischen diesem und Super in Java

Schlüsselunterschied - dies vs super in java
 

Die Schlüsselwörter "This" und "Super" werden in der Java -Programmierung verwendet. Diese Schlüsselwörter können nicht als Variablen oder einen anderen Bezeichner -Namen verwendet werden. Java unterstützt die objektorientierte Programmierung (OOP). Das Programm oder die Software kann mit Objekten modelliert werden. Objekte werden unter Verwendung von Klassen untersagt. Eine Oop -Säule ist die Vererbung. Es bietet Code -Wiederverwendbarkeit. Die bereits existierenden Klassen sind Superklassen, und die abgeleiteten Klassen sind Unterklassen. Das Super -Schlüsselwort kann verwendet werden, um ein Objekt der Superklasse zu verweisen. Es gibt mehrere Objekte im System. Das Schlüsselwort 'This' wird verwendet, um ein aktuelles Objekt zu verweisen. Der Schlüsselunterschied Zwischen diesem und Super ist ''Dies ist eine Referenzvariable, die verwendet wird, um das aktuelle Objekt zu verweisen Während 'Super' eine Referenzvariable ist, die verwendet wird, um ein sofortiges Superklassenobjekt zu verweisen. 

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist das in Java
3. Was ist Super in Java
4. Ähnlichkeiten zwischen diesem und Super in Java
5. Vergleich nebeneinander - dies gegen Super in Java in tabellarischer Form
6. Zusammenfassung

Was ist das in Java?

Das Schlüsselwort "This" wird verwendet, um ein aktuelles Objekt zu verweisen. Verweisen Sie das angegebene Java -Programm.

Abbildung 01: Java -Programm mit diesem Schlüsselwort

In Java gibt es drei Arten von Variablen. Sie sind Instanzvariablen, lokale Variablen und Klassenvariablen. Nach dem obigen Programm hat der Klassenangestellte zwei Instanzvariablen. Sie sind ID und Name. Lokale Variablen sind die Variablen gehören zu Methoden. Klassenvariablen werden von allen Objekten geteilt. Die ID und der Name werden an den Mitarbeiterkonstruktor übergeben. Wenn der Programmierer ID = ID schreibt; Es wird die Instanzvariablen nicht initialisiert, da der Konstruktor bereits ID und Name hat. Es gibt keine Werte beispielsweise Variablen. Das Drucken zeigt also Null an. Bei der Verwendung bezieht es sich auf das aktuelle Objekt. Wenn Sie dem Konstruktor ID und Namen geben, können Sie daher die Instanzvariablen festlegen.

Das Schlüsselwort "Dies" kann verwendet werden, um die aktuelle Klassenmethode aufzurufen. Siehe das gegebene Java -Programm.

öffentliche Klasse themo

public static void main (String [] args)

Myclass myclass = new myclass ();

meine Klasse.B();

Klasse myclass

public void a ()

System.aus.println ("a");

public void b ()

System.aus.Prinltn ("B");

Das.A();

Die Klasse Myclass enthält zwei Methoden. Sie sind Methode A und B. Wenn Sie ein Objekt aus MyClass erstellen und die Methode b aufrufen, druckt B B, A als Ausgabe. In Methode B gibt es nach dem Drucken B eine Aussage als diese.A(). Mit diesem Zusammenhang wurde die aktuelle Klassenmethode aufgerufen.

Es ist auch möglich, dieses Schlüsselwort zu verwenden, um den aktuellen Klassenkonstruktor aufzurufen. Verweisen Sie das angegebene Programm.

öffentliche Klasse themo

public static void main (String [] args)

A obj = neu a (5);

Klasse a

public a ()

System.aus.println ("Konstruktor a");

public a (int x)

Das();

System.aus.println („parametrisierter Konstruktor a“);

Gemäß dem obigen Programm verfügt die Klasse A über einen Standardkonstruktor und einen parametrisierten Konstruktor.  Beim Erstellen eines Objekts von A wird der parametrisierte Konstruktor aufgerufen. Im parametrisierten Konstruktor gibt es eine solche Aussage (); Es wird den aktuellen Klassenkonstruktor aufrufen, der a () ist.

Was ist Super in Java?

Das Schlüsselwort "Super" bezieht sich auf die Erbschaft. Vererbung ist ein wichtiges Konzept der objektorientierten Programmierung. Es ermöglicht die Verwendung der Eigenschaften und Methoden der bereits vorhandenen Klasse zu einer neuen Klasse. Die bereits vorhandene Klasse ist als Elternklasse oder Superklasse bekannt. Die neue Klasse ist als Kinderklasse oder Unterklasse bekannt.

Das 'Super' ist eine Referenzvariable, mit der das Objekt der unmittelbaren übergeordneten Klassen übermittelt wird. Das Super -Schlüsselwort kann eine sofortige Variable der übergeordneten Klasseninstanz verweisen oder eine sofortige Methode der übergeordneten Klassen aufrufen. Der Super () wird verwendet, um einen sofortigen Konstruktor der Elternklassen aufzurufen.

Angenommen, es gibt zwei Klassen als A und B. Klasse A ist die Superklasse und Klasse B ist die Unterklasse. Klasse A, B haben beide Anzeigemethoden.

öffentliche Klasse A

public void display ()

System.aus.println ("a");

Die öffentliche Klasse B erweitert A

public void display ()

System.aus.println ("b");

Beim Erstellen eines Objekts vom Typ B und beim Aufrufen der Methodenanzeige wird die Ausgabe B angegeben. Klasse A hat die Anzeigemethode, wird jedoch von der Unterklasse B -Anzeigemethode überschrieben. Wenn der Programmierer die Anzeigemethode in Klasse A aufrufen möchte, kann er das Super -Keyword verwenden. Verweisen Sie das angegebene Java -Programm.

Abbildung 02: Java -Programm mit Super Keyword

Gemäß dem obigen Programm verfügt die Klasse A über eine variable namens Nummer mit Wert 10. Klasse B erweitert a und hat eine variable benannte Nummer mit Wert 20. Im Allgemeinen sollte beim Erstellen eines Objekts vom Typ B und beim Aufrufen der Anzeigemethode die Nummer in der Unterklasse angeben, da der Superklasswert von der neuen Klasse überschrieben wird. Durch die Verwendung des Super.NUM, der Wert der Superklasse wird gedruckt.

Der Super () kann verwendet werden, um den Superklassenkonstruktor aufzurufen. Verweisen Sie das folgende Programm.

Hauptklasse Haupt

public static void main (String [] args)

B obj = neu B ();

Klasse a

A()

System.aus.println ("a");

Klasse B erweitert a

B()

super();

System.aus.println ("b");

Gemäß dem obigen Programm hat Klasse A einen Konstruktor A (). Klasse B hat den Konstruktor B (). Klasse B erweitert die Klasse A. Beim Erstellen eines Objekts vom Typ B wird A, B als Ausgabe druckt. Der B () -Konstruktor hat Super (). Daher wird der A -Konstruktor zuerst aufgerufen und dann zu B geht. Auch wenn Super () nicht geschrieben ist, wird standardmäßig der übergeordnete Konstruktor aufgerufen.

Die Super verwendet die Methode ist wie folgt.

Abbildung 03: Java -Programm, das die Superklassenmethode aufruft

Gemäß dem obigen Programm verfügt die Klasse A über Anzeigemethoden. Klasse B hat auch die Anzeigemethode. Klasse B erweitert a. Beim Erstellen eines Objekts vom Typ B und beim Aufrufen der Anzeigemethode wird die Ausgabe als A und B angegeben. In der Anzeigemethode der Klasse B wird die Anzeigemethode der Klasse A unter Verwendung von Super aufgerufen.Anzeige(). Diese Methode druckt zuerst „A“. Dann druckt "B" aus.

Was ist die Ähnlichkeit zwischen diesem und Super?

  • Beide sind Schlüsselwörter in der Java -Programmierung.

Was ist der Unterschied zwischen diesem und Super?

Das gegen super

Das 'This' ist eine Referenzvariable, mit der das aktuelle Objekt übergewiesen wird. Das 'Super' ist eine Referenzvariable, die verwendet wird, um ein sofortiges Superklassenobjekt zu verweisen.
 Instanzvariable
Eine aktuelle Klasseninstanzvariable kann mit dieser bezeichnet werden. Superklassen -Instanzvariable können mit Super verwiesen werden.
Klassenmethode
Die aktuelle Klassenmethode kann mit dieser aufgerufen werden. Die Superklassenmethode kann mit Super aufgerufen werden.
 Konstrukteur
Der aktuelle Klassenkonstruktor kann mit diesem () aufgerufen werden (). Superklassenkonstruktor kann mit Super () aufgerufen werden.

Zusammenfassung -dies vs super in java

Die Schlüsselwörter "This" und "Super" werden in Java verwendet. Die Schlüsselwörter können nicht als Variablen oder einen anderen Bezeichner -Namen verwendet werden. Sie scheinen gleich zu sein, aber sie haben einen Unterschied. Der Unterschied zwischen diesem und Super besteht darin, dass Super eine Referenzvariable ist, mit der ein sofortiges Superklasse -Objekt bezeichnet wird, während dies eine Referenzvariable ist, die sich auf das aktuelle Objekt bezieht.

Laden Sie den PDF dieses gegen Super in Java herunter

Sie können die PDF -Version dieses Artikels herunterladen und ihn für Offline -Zwecke gemäß Citation Note verwenden. Bitte laden Sie die PDF -Version hier herunter: Unterschied zwischen diesem und Super in Java

Referenz:

1.This () und Super Keyword in Java und seinen Zweck mit einem kurzen Beispiel, Atoz Knowledge, 31. Januar. 2015. Hier verfügbar 
2.„Dieses Schlüsselwort in Java - Java Point." Hier verfügbar  
3.Tutorialspitze.com. „Java -Erbschaft.”Der Punkt, der hier erhältlich ist