1. Einleitung
In diesem kurzen Tutorial werfen wir einen Blick auf das Super- Java-Schlüsselwort.
Einfach ausgedrückt können wir das Schlüsselwort super verwenden, um auf die übergeordnete Klasse zuzugreifen.
Lassen Sie uns die Anwendungen des Kernschlüsselworts in der Sprache untersuchen.
2. Das Super- Schlüsselwort mit Konstruktoren
Wir können super () verwenden , um den übergeordneten Standardkonstruktor aufzurufen . Es sollte die erste Anweisung in einem Konstruktor sein.
In unserem Beispiel verwenden wir super (message) mit dem String- Argument:
public class SuperSub extends SuperBase { public SuperSub(String message) { super(message); } }
Lassen Sie uns eine untergeordnete Klasseninstanz erstellen und sehen, was dahinter steckt:
SuperSub child = new SuperSub("message from the child class");
Das neue Schlüsselwort ruft den Konstruktor des SuperSub auf , der selbst zuerst den übergeordneten Konstruktor aufruft und ihm das String- Argument übergibt .
3. Zugriff auf übergeordnete Klassenvariablen
Erstellen wir eine übergeordnete Klasse mit der Nachrichteninstanzvariablen :
public class SuperBase { String message = "super class"; }
Jetzt erstellen wir eine untergeordnete Klasse mit der gleichnamigen Variablen:
public class SuperSub extends SuperBase { String message = "child class"; public void getParentMessage() { System.out.println(super.message); } }
Mit dem Schlüsselwort super können wir von der untergeordneten Klasse aus auf die übergeordnete Variable zugreifen .
4. Das Super- Schlüsselwort mit überschreibender Methode
Bevor Sie fortfahren, empfehlen wir Ihnen, unseren Leitfaden zum Überschreiben von Methoden zu lesen.
Fügen wir unserer übergeordneten Klasse eine Instanzmethode hinzu:
public class SuperBase { String message = "super class"; public void printMessage() { System.out.println(message); } }
Und überschreiben Sie die printMessage () -Methode in unserer untergeordneten Klasse:
public class SuperSub extends SuperBase { String message = "child class"; public SuperSub() { super.printMessage(); printMessage(); } public void printMessage() { System.out.println(message); } }
Wir können das Super verwenden, um von der untergeordneten Klasse aus auf die überschriebene Methode zuzugreifen . Die super.printMessage () im Konstruktor ruft die übergeordnete Methode von SuperBase auf .
5. Schlussfolgerung
In diesem Artikel haben wir das Super- Keyword untersucht.
Wie üblich ist der vollständige Code auf Github verfügbar.