Unterschied Zwischen Diesem Und Super In Java

Inhaltsverzeichnis:

Unterschied Zwischen Diesem Und Super In Java
Unterschied Zwischen Diesem Und Super In Java

Video: Unterschied Zwischen Diesem Und Super In Java

Video: Unterschied Zwischen Diesem Und Super In Java
Video: 10 Gründe warum die Minecraft Java Version besser als die Minecraft Bedrock Version ist 2024, April
Anonim

Hauptunterschied - 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 andere Bezeichnernamen verwendet werden. Java unterstützt die objektorientierte Programmierung (OOP). Das Programm oder die Software kann mithilfe von Objekten modelliert werden. Objekte sind mit Klassen unersättlich. Eine Säule von OOP ist die Vererbung. Es bietet Code-Wiederverwendbarkeit. Die bereits vorhandenen Klassen sind Oberklassen, und die abgeleiteten Klassen sind Unterklassen. Das Schlüsselwort super kann verwendet werden, um auf ein Objekt der Oberklasse zu verweisen. Es gibt mehrere Objekte im System. Das Schlüsselwort 'this' wird verwendet, um auf ein aktuelles Objekt zu verweisen. Der Hauptunterschied zwischen this und super besteht darin, dass 'this' eine Referenzvariable ist, die zum Verweisen auf das aktuelle Objekt verwendet wird, während 'super' eine Referenzvariable ist, die zum Verweisen auf unmittelbare Objekte der Superklasse verwendet wird.

INHALT

1. Übersicht und Hauptunterschied

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 auf ein aktuelles Objekt zu verweisen. Verweisen Sie auf das angegebene Java-Programm.

Unterschied zwischen diesem und Super in Java
Unterschied zwischen diesem und Super in Java

Abbildung 01: Java-Programm mit diesem Schlüsselwort

In Java gibt es drei Arten von Variablen. Sie sind Instanzvariablen, lokale Variablen und Klassenvariablen. Gemäß dem obigen Programm hat die Klasse Employee zwei Instanzvariablen. Sie sind ID und Name. Lokale Variablen sind die Variablen, die zu Methoden gehören. Klassenvariablen werden von allen Objekten gemeinsam genutzt. Die ID und der Name werden an den Employee-Konstruktor übergeben. Wenn der Programmierer id = id schreibt; Die Instanzvariablen werden nicht initialisiert, da der Konstruktor bereits ID und Name hat. Es gibt keine Werte für Instanzvariablen. Wenn Sie sie drucken, wird null angezeigt. Wenn Sie dies verwenden, bezieht es sich auf das aktuelle Objekt. Wenn Sie dem Konstruktor eine ID und einen Namen geben, können Sie daher die Instanzvariablen festlegen.

Das Schlüsselwort 'this' kann verwendet werden, um die aktuelle Klassenmethode aufzurufen. Beziehen Sie sich auf das angegebene Java-Programm.

öffentliche Klasse ThisDemo {

public static void main (String args) {

Myclass myClass = new Myclass ();

myClass. B ();

}}

}}

Klasse Myclass {

public void A () {

System.out.println ("A");

}}

öffentliche Leere B () {

System.out.prinltn ("B");

Dies ein();

}}

}}

Die Klasse Myclass enthält zwei Methoden. Sie sind Methode A und B. Wenn Sie ein Objekt von Myclass erstellen und die Methode B aufrufen, wird B, A als Ausgabe gedruckt. In Methode B gibt es nach dem Drucken von B eine Anweisung wie diese. A (). Damit wurde die aktuelle Klassenmethode aufgerufen.

Mit diesem Schlüsselwort können Sie auch den aktuellen Klassenkonstruktor aufrufen. Beziehen Sie sich auf das angegebene Programm.

öffentliche Klasse ThisDemo {

public static void main (String args) {

A obj = neues A (5);

}}

}}

Klasse a{

public A () {

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

}}

public A (int x) {

Dies();

System.out.println ("Parametrisierter Konstruktor A");

}}

}}

Gemäß dem obigen Programm hat Klasse A einen Standardkonstruktor und einen parametrisierten Konstruktor. Beim Erstellen eines Objekts von A wird der parametrisierte Konstruktor aufgerufen. Im parametrisierten Konstruktor gibt es eine Anweisung wie diese (); Es wird der aktuelle Klassenkonstruktor A () aufgerufen.

Was ist super in Java?

Das Schlüsselwort 'super' bezieht sich auf die Vererbung. Vererbung ist ein Hauptkonzept der objektorientierten Programmierung. Es ermöglicht die Verwendung der Eigenschaften und Methoden der bereits vorhandenen Klasse für eine neue Klasse. Die bereits vorhandene Klasse wird als übergeordnete Klasse oder Oberklasse bezeichnet. Die neue Klasse wird als untergeordnete Klasse oder Unterklasse bezeichnet.

Das 'Super' ist eine Referenzvariable, mit der auf das unmittelbare übergeordnete Klassenobjekt verwiesen wird. Das Schlüsselwort super kann auf eine Instanzvariable der unmittelbaren übergeordneten Klasse verweisen oder die Methode der unmittelbaren übergeordneten Klasse aufrufen. Mit super () wird der Konstruktor der unmittelbaren übergeordneten Klasse aufgerufen.

Angenommen, es gibt zwei Klassen als A und B. Klasse A ist die Oberklasse und Klasse B ist die Unterklasse. Klasse A, B haben beide eine Anzeigemethode.

öffentliche Klasse A {

public void display () {

System.out.println ("A");

}}

}}

öffentliche Klasse B erweitert A {

public void display () {

System.out.println ("B");

}}

}}

Wenn Sie ein Objekt vom Typ B erstellen und die Methodenanzeige aufrufen, wird die Ausgabe B ausgegeben. Klasse A verfügt über die Anzeigemethode, wird jedoch von der Anzeigemethode der Unterklasse B überschrieben. Wenn der Programmierer die Anzeigemethode in Klasse A aufrufen möchte, kann er das Schlüsselwort super verwenden. Verweisen Sie auf das angegebene Java-Programm.

Unterschied zwischen diesem und super in Java Figure 02
Unterschied zwischen diesem und super in Java Figure 02

Abbildung 02: Java-Programm mit dem Schlüsselwort super

Gemäß dem obigen Programm hat Klasse A eine Variable mit dem Namen number mit dem Wert 10. Klasse B erweitert A und hat eine Variable mit dem Namen number mit dem Wert 20. Im Allgemeinen sollte beim Erstellen eines Objekts vom Typ B und beim Aufrufen der Anzeigemethode die Nummer in angegeben werden die Unterklasse, da der Wert der Oberklasse von der neuen Klasse überschrieben wird. Unter Verwendung der super.num wird der Wert der Superklassennummer gedruckt.

Mit super () kann der Superklassenkonstruktor aufgerufen werden. Siehe das folgende Programm.

öffentliche Klasse Main {

public static void main (String args) {

B obj = neues B ();

}}

}}

Klasse a{

EIN(){

System.out.println ("A");

}}

}}

Klasse B erweitert A {

B () {

Super();

System.out.println ("B");

}}

}}

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

Das Super mit der Methode ist wie folgt.

Hauptunterschied zwischen diesem und Super in Java
Hauptunterschied zwischen diesem und Super in Java

Abbildung 03: Java-Programm, das die Superclass-Methode aufruft

Gemäß dem obigen Programm verfügt die Klasse A über eine Anzeigemethode. Klasse B hat auch eine Anzeigemethode. Klasse B erweitert A. Wenn Sie ein Objekt vom Typ B erstellen und die Anzeigemethode aufrufen, wird die Ausgabe als A und B ausgegeben. In der Anzeigemethode der Klasse B wird die Anzeigemethode der Klasse A mit super.display () aufgerufen. Diese Methode gibt zuerst "A" aus. Druckt dann "B".

Was ist die Ähnlichkeit zwischen diesem und Super?

Beides sind Schlüsselwörter in der Java-Programmierung

Was ist der Unterschied zwischen diesem und Super?

Diff Artikel Mitte vor Tabelle

Dies gegen Super

Das 'this' ist eine Referenzvariable, mit der auf das aktuelle Objekt verwiesen wird. Das 'Super' ist eine Referenzvariable, die verwendet wird, um ein unmittelbares Superklassenobjekt zu referenzieren.
Instanzvariable
Auf diese Weise kann auf eine aktuelle Klasseninstanzvariable verwiesen werden. Die Instanzvariable der Superklasse kann mit super referenziert werden.
Klassenmethode
Damit kann die aktuelle Klassenmethode aufgerufen werden. Die Superclass-Methode kann mit super aufgerufen werden.
Konstrukteur
Der aktuelle Klassenkonstruktor kann mit this () aufgerufen werden. Der Superclass-Konstruktor 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 andere Bezeichnernamen 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, die zum Verweisen auf ein unmittelbares Superklassenobjekt verwendet wird, während dies eine Referenzvariable ist, die auf das aktuelle Objekt verweist.

Laden Sie das PDF von diesem vs super in Java herunter

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

Empfohlen: