Heim> Java> javaLernprogramm> Hauptteil

Super-Schlüsselwort in Java

王林
Freigeben: 2024-08-30 15:44:39
Original
195 Leute haben es durchsucht

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]);
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-Keywords 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!

Verwandte Etiketten:
Quelle:php
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!