veröffentlicht am: 21.06.2022 zuletzt aktualisiert am: 19.04.2023
Das „Java super„-Keyword spielt bei der Vererbung in Java eine wichtige Rolle. Das Schlüsselwort „super“ kann auf öffentliche und geschützte Methoden angewendet werden, während es auf statische oder private Methoden nicht angewendet werden kann.
Die Anwendbarkeit des Schlüsselworts super ist auf die unmittelbare Oberklasse beschränkt. Der „Enkel“ kann die Eigenschaften des großen „Supers“ erben, indem er seine Superklasse durchläuft. Das Schlüsselwort super kann jedoch nicht in den Enkelklassen für die Großelternklassen verwendet werden.
Dieser Beitrag behandelt das Schlüsselwort super mit den folgenden Lerninhalten:
Das super-Schlüsselwort kann nur verwendet werden, um auf „Referenzvariablen„, „Methoden“ oder „Konstruktoren“ der unmittelbaren Superklasse zuzugreifen. Hier erfahren wir, wie sich das super-Schlüsselwort für die oben genannten Felder einer Superklasse verhält.
Die Syntax für den Zugriff auf das Attribut einer Superklasse mit dem Schlüsselwort super ist unten angegeben.
super.attribut;
Der Punkt (.) Operator wird verwendet, um das Schlüsselwort Java super mit dem Namen des Attributs zu verbinden.
Lass uns die Anwendung mit Hilfe des folgenden Codes demonstrieren:
class Autos { String erstesAuto = "LAND-CRUISER-ZX"; String zweitesAuto = "TOYOTA-CAMRY"; String drittesAuto = "FJ-CRUISER"; } class Toyota extends Autos { public void show() { System.out.println("Die verfügbaren Fahrzeuge sind:\n" + super.erstesAuto + "\n" + super.zweitesAuto + "\n" + super.drittesAuto); } } public class Main { public static void main(String[] args) { Toyota t = new Toyota(); t.show(); } }
Im obigen Code,
Ausgabe:
Die Ausgabe zeigt, dass der Zugriff auf die Attribute der Oberklasse in der Unterklasse mit Hilfe des Java super-Schlüsselworts erfolgt.
In Java ist ein Konstruktor eine Methode, mit der Objekte erstellt werden sollen. Zum besseren Verständnis wird die folgende Syntax verwendet, um in einer Unterklasse auf den Java Konstruktor einer Oberklasse zuzugreifen.
super();
In Java ist ein Konstruktor eine Methode, mit der Objekte erstellt werden sollen. Zum besseren Verständnis wird die folgende Syntax verwendet, um in einer Unterklasse auf den Konstruktor einer Oberklasse zuzugreifen.
class Autos { Autos() { int h = 10; int e = 15; System.out.println("Es befinden sich so viele Autos in unserem Autohaus: " + (h + e)); } } class Toyota extends Autos { Toyota() { super(); int t = 5; System.out.println("Davon Toyotas: " + t); } } public class Main { public static void main(String[] args) { Toyota c = new Toyota(); } }
Hinweis: Die @SuppressWarnings(„unused“) Annotation wird verwendet, um den Hinweis zu unterdrücken, dass das Objekt nicht verwendet wird.
Ausgabe auf der Konsole:
Die Ausgabe zeigt, dass der Inhalt des Konstruktors der Hauptklasse so angezeigt wird, wie er im Konstruktor der Unterklasse aufgerufen wurde.
Die Oberklasse und die Unterklasse können Methoden mit demselben Namen haben. Mit dem Java super-Schlüsselwort können diese unterschieden werden.
super.MethodName();
Der Methodenname() bezieht sich auf den Namen der Methode, die innerhalb der Unterklasse aufgerufen werden soll. Zum besseren Verständnis werden die folgenden Codezeilen ausgeführt, um die Verwendung des Schlüsselworts super für den Aufruf einer Methode der Oberklasse in der Unterklasse zu demonstrieren.
class Autos { public void meineNachricht() { System.out.println("Methode in der SuperClass"); } } class Toyota extends Autos { public void meineNachricht() { System.out.println("Überschriebene Methode der SuperClass"); } public void dieGrosseNachricht() { super.meineNachricht(); } } public class Main { public static void main(String[] args) { Toyota t = new Toyota(); t.dieGrosseNachricht(); } }
Ausgabe
Die Methode meineNachricht() gehört ebenfalls zur Unterklasse. Da jedoch das Java super Keyword verwendet wird, wird die Methode meineNachricht() der Oberklasse ausgeführt.
In Java wird das super-Schlüsselwort verwendet, um die Methode/Konstruktor/Variable der Ober-/Elternklasse in der Unter-/Kinderklasse zu erreichen. Das super-Schlüsselwort ist sehr hilfreich, wenn die Methoden den gleichen Namen haben oder die Variablen den gleichen Namen haben könnten. In diesem Beitrag wurde die Bedeutung des super-Schlüsselworts erläutert und seine Verwendung anhand von Beispielen demonstriert. Ein Punkt-Operator (mehr über die Java Operatoren erfahren) wird verwendet, um das super-Schlüsselwort mit den Variablen/Methoden zu verbinden, um sie von den Unterklassen aus aufzurufen.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig