super auf Java
In Java haben wir ein vordefiniertes Schlüsselwort super
, das etwas mit der Elternklasse zu tun hat. In diesem Tutorial werden wir die Funktion super()
ausführlich besprechen.
In Java fungiert das Schlüsselwort super
als Referenzvariable für die übergeordneten Klassenobjekte. Es kann verwendet werden, um die Klassenmethoden und -variablen der Eltern aufzurufen.
Zum Beispiel
class Teacher { // Parent class
int grade = 90;
}
class Students extends Teacher { // subclass
Students() {
System.out.println("Grade " + super.grade);
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
Ausgabe:
Grade 90
Im obigen Beispiel haben wir mit dem Schlüsselwort super
auf die Variable grade
der Elternklasse Teacher
aus dem Konstruktor ihrer Unterklasse Students
zugegriffen.
Wir haben auch die Funktion super()
, die den Klassenkonstruktor der Eltern aufruft. Diese Funktion wird nur zum Aufrufen der Konstruktoren der Elternklasse verwendet. Sowohl parametrische als auch nicht-parametrische Konstruktoren können mit der Funktion super()
aufgerufen werden. Wenn der Konstruktor während der Verwendung der Funktion super()
keinen Superklassenkonstruktor explizit aufruft, wird der Konstruktor der Superklasse ohne Argumente vom Java-Compiler selbst aufgerufen.
Siehe den Code unten.
class Teacher { // Parent class
Teacher() // constructor
{
System.out.println("Teacher class Constructor");
}
}
class Students extends Teacher { // subclass
Students() {
super();
System.out.println("Students class Constructor");
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
Ausgabe:
Teacher class Constructor
Students class Constructor
Wir haben im obigen Code eine Elternklasse Teacher
und einen Elternklassenkonstruktor erstellt, der eine Nachricht ausgibt. Dann wird eine Unterklasse Students
von Teacher
erweitert, die über einen Konstruktor Students()
verfügt, der aus der Funktion super()
zum Aufrufen des übergeordneten Klassenkonstruktors besteht. Dann haben wir die Hauptklasse, die die Unterklasse zum Ausführen des Programms aufruft. Die Funktion super()
hat den Konstruktor der Elternklasse aufgerufen, um die Nachricht der Elternklasse und dann der Unterklasse zu drucken.