Einführung in Super Keyword in Java
Super ist ein Schlüsselwort, das zum Aufrufen einer Funktion oder Methode in der Superklasse verwendet wird. Dies wird innerhalb der Unterklasse definiert. Methoden, die nur öffentlich und geschützt sind, können mit diesem Schlüsselwort aufgerufen werden. Mit anderen Worten, private Methoden und statische Methoden können damit nicht aufgerufen werden. Das Super-Schlüsselwort in Java kann auch verwendet werden, um die Konstruktoren der übergeordneten Klasse aufzurufen. Syntax, Beispiele und weitere Details des Super-Schlüsselworts werden in den folgenden Abschnitten erläutert.
Syntax
super.<> or super((0 or more arguments));
Wie funktioniert Super Keyword in Java?
Wie bereits erwähnt, kann super mehrfach verwendet werden. Sie sind gebraucht:
- Instanzvariable einer unmittelbaren Elternklasse referenzieren.
- Verweisen auf die Methode einer unmittelbaren übergeordneten Klasse.
- Verweisen auf den Konstruktor einer unmittelbaren übergeordneten Klasse.
Lassen Sie uns nun jeden von ihnen im Detail sehen.
1. Verweisen auf eine Instanzvariable einer unmittelbaren Elternklasse
Wenn die übergeordnete und die untergeordnete Klasse dieselben Datenelemente haben, kann mit dem Schlüsselwort Super auf das Feld oder Datenelement der übergeordneten Klasse zugegriffen werden. In diesem Fall kann es zu Mehrdeutigkeiten bei der Java Virtual Machine kommen.
Beispiel:
class A (
protected String name="ann";
)
class B extends A (
public String name="Anna";
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)
Hier haben zwei Klassen A und B einen gemeinsamen Feldnamen. Eine Funktion printType () in einer untergeordneten Klasse verwendet das Schlüsselwort super, um auf das Feld in einer übergeordneten Klasse zu verweisen.
2. Die Methode einer unmittelbaren Elternklasse beziehen
Das Überschreiben von Methoden ist ein Prozess, durch den eine untergeordnete Klasse dieselbe Funktion oder Methode deklariert, die bereits in der übergeordneten Klasse verfügbar ist. Angenommen, wenn ein Aufruf der Methode über das Objekt der untergeordneten Klasse erfolgt, wird nur die Methode in der untergeordneten Klasse aufgerufen. Um auf die übergeordnete Methode zuzugreifen, kann ein Super-Schlüsselwort verwendet werden.
Beispiel:
class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
class B extends A (
public String name="Anna”;
public void hello() (
System.out.println("I am " + name);
)
public void test()
(
hello();
super.hello();
)
)
Hier haben zwei Klassen A und B dieselbe Methode hello (). Mit Hilfe eines super-Schlüsselworts in der Funktion test () kann auf die Methode hello () einer übergeordneten Klasse zugegriffen werden.
3. Zu Konstruktor der unmittelbaren Elternklasse verweisen
Es ist bereits bekannt, dass ein Konstruktor (Standard) automatisch aufgerufen wird, wenn das Objekt einer Klasse erstellt wird. Mit dem Schlüsselwort super kann der Konstruktor der Superklasse explizit aus dem Konstruktor der Unterklasse aufgerufen werden. Stellen Sie sicher, dass super nur innerhalb des Konstruktors der Unterklasse verwendet wird und dies die erste Anweisung darin ist.
Beispiel:
class A (
//constructor of parent class
A() ( System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon"); ) )
Beispiele für Super Keyword in Java
Nachfolgend sind die verschiedenen Beispiele für Super-Schlüsselwörter in Java aufgeführt:
Beispiel 1
Im folgenden Programm ist ein gemeinsamer Variablenname vorhanden, und super wird zum Aufrufen der Variablen in einer übergeordneten Klasse verwendet.
//Java program to illustrate Super keyword to refer instance variable
//parent class
class A (
protected String name="ann";
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.hello();//call the method in child class
)
)
Ausgabe:
Beispiel - 2
Mit diesem Programm können Sie das Schlüsselwort super demonstrieren, während Sie in einer übergeordneten Klasse auf dieselbe Methode verweisen. Hier ist hallo () eine Methode, die in beiden Klassen verfügbar ist.
//Java program to illustrate Super keyword to refer same method in parent class
//parent class
class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method which is same in parent class
public void hello() (
System.out.println("I am " + name);
)
//method to call the hello() method in parent and child class
public void test()
(
hello();
super.hello();
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.test();//call the method in child class
) )
Ausgabe:
Beispiel - 3
Dieses Programm ruft den Konstruktor der übergeordneten Klasse mit dem Schlüsselwort super auf.
//Java program to illustrate Super keyword to refer constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)
Ausgabe:
Beispiel - 4
Dieses Programm demonstriert die Verwendung eines Super-Schlüsselworts, um auf den parametrisierten Konstruktor einer übergeordneten Klasse zu verweisen.
//Java program to illustrate Super keyword to refer parameterised constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
//parameterised constructor
A(String name) (
System.out.println("I am " + name);
)
)
//child class
class B extends A (
//constructor of child class
B() (
super("Renuka");
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)
Ausgabe:
Fazit
Super ist ein Schlüsselwort in Java, mit dem auf die Methoden oder Funktionen, Instanzvariablen oder Attribute und Konstruktoren in der übergeordneten Klasse verwiesen wird. Wenn ein Konstruktor nicht deklariert ist, erstellt der Compiler automatisch einen Standardkonstruktor. Ebenso ruft der Compiler super () automatisch auf, wenn es nicht deklariert ist. In diesem Dokument werden einige Aspekte des Schlüsselworts super ausführlich erläutert.
Empfohlene Artikel
Dies ist eine Anleitung zu Super Keyword in Java. Hier diskutieren wir, wie das Schlüsselwort dose super in Java funktioniert, zusammen mit Beispielen. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -
- JComponent in Java
- Konstruktor in Java
- Was ist Java-Vererbung?
- Zugriffsmodifikatoren in Java
- Statische Methode in PHP
- Vererbung in PHP
- Vollständiger Leitfaden zur Vererbung in Python
- dieses Schlüsselwort in Java | Beispiele für dieses Schlüsselwort
- Statische JavaScript-Methode | Wie man arbeitet? | Beispiele