Inhaltsverzeichnis
Wie funktioniert Super Keyword in Java?
1. So verweisen Sie auf eine Instanzvariable einer unmittelbar übergeordneten Klasse
2. Verweismethode einer unmittelbaren übergeordneten Klasse
3. Verweisen auf den Konstruktor der unmittelbaren übergeordneten Klasse
Beispiele für Super Keyword in Java
Beispiel #1
Beispiel #4
Fazit
Heim Java javaLernprogramm Super-Schlüsselwort in Java

Super-Schlüsselwort in Java

Aug 30, 2024 pm 03:44 PM
java

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.<<method-name>> or super([0 or more arguments]);
Nach dem Login kopieren

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);
}
}
Nach dem Login kopieren

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();
}
}
Nach dem Login kopieren

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");  } }
Nach dem Login kopieren

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
}
}
Nach dem Login kopieren

Ausgabe:

Super-Schlüsselwort in Java

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
} }
Nach dem Login kopieren

Ausgabe:

Super-Schlüsselwort in Java

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
}
}
Nach dem Login kopieren

Ausgabe:

Super-Schlüsselwort in Java

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
}
}
Nach dem Login kopieren

Ausgabe:

Super-Schlüsselwort in Java

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Quadratwurzel in Java

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Perfekte Zahl in Java

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Zufallszahlengenerator in Java

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Armstrong-Zahl in Java

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Weka in Java

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Smith-Nummer in Java

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

Fragen zum Java Spring-Interview

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Brechen oder aus Java 8 Stream foreach zurückkehren?

See all articles