Super ist ein Schlüsselwort, das zum Aufrufen einer Funktion oder Methode in der Superklasse verwendet wird. Dies wird innerhalb der Unterklasse definiert. Mit diesem Schlüsselwort können nur öffentliche und geschützte Methoden 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 zum Super-Schlüsselwort werden in den folgenden Abschnitten besprochen.
Syntax
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
super.> or super([0 or more arguments]);
Wie funktioniert Super Keyword in Java?
Wie bereits erwähnt, kann super mehrfach verwendet werden.
- Um auf eine Instanzvariable einer unmittelbar übergeordneten Klasse zu verweisen.
- Bezieht sich auf die Methode einer unmittelbaren übergeordneten Klasse.
- Um auf den Konstruktor einer unmittelbaren übergeordneten Klasse zu verweisen.
1. So verweisen Sie auf eine Instanzvariable einer unmittelbar übergeordneten Klasse
Wenn die übergeordnete und untergeordnete Klasse dieselben Datenelemente haben, kann das Schlüsselwort Super verwendet werden, um auf das Feld oder Datenelement der übergeordneten Klasse zuzugreifen. In diesem Fall kann es zu Mehrdeutigkeiten bezüglich der Java Virtual Machine kommen.
Beispiel:
Code:
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() innerhalb der untergeordneten Klasse verwendet das Schlüsselwort super, um auf das Feld in einer übergeordneten Klasse zu verweisen.
2. Verweismethode einer unmittelbaren übergeordneten Klasse
Methodenüberschreibung ist ein Prozess, bei dem eine untergeordnete Klasse dieselbe Funktion oder Methode deklariert, die bereits in der übergeordneten Klasse verfügbar ist. Angenommen, wenn ein Aufruf der Methode vom 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:
Code:
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 test()-Funktion ist es möglich, auf die hello()-Methode einer übergeordneten Klasse zuzugreifen.
3. Verweisen auf den Konstruktor der unmittelbaren übergeordneten Klasse
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 Oberklasse explizit vom Konstruktor der Unterklasse aufgerufen werden. Stellen Sie sicher, dass super nur innerhalb des Konstruktors der Unterklasse verwendet wird und es die erste Anweisung darin ist.
Beispiel:
Code:
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
Im Folgenden sind die verschiedenen Beispiele aufgeführt:
Beispiel #1
Im folgenden Programm ist ein gemeinsamer Variablenname vorhanden und super wird verwendet, um die Variable in einer übergeordneten Klasse aufzurufen.
Code:
//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
Dieses Programm hilft bei der Demonstration des Super-Schlüsselworts und verweist gleichzeitig auf dieselbe Methode in einer übergeordneten Klasse. Hier ist hello() eine Methode, die in beiden Klassen verfügbar ist.
Code:
//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.
Code:
//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.
Code:
//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, das verwendet wird, um auf Methoden oder Funktionen, Instanzvariablen oder Attribute und Konstruktoren in der übergeordneten Klasse zu verweisen. Wenn kein Konstruktor deklariert ist, erstellt der Compiler automatisch einen Standardkonstruktor. Ebenso ruft der Compiler super() automatisch auf, wenn es nicht deklariert ist. In diesem Dokument werden mehrere Aspekte des Super-Schlüsselworts ausführlich erläutert.
Das obige ist der detaillierte Inhalt vonSuper-Schlüsselwort in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung