super keyword in java
Das Keyword in Java ist eine Referenzvariable, mit der sich auf ein direktes übergeordnetes Klassenobjekt bezieht. Wenn Sie eine Instanz einer Unterklasse erstellen, wird die Instanz der übergeordneten Klasse implizit erstellt und von der Super
Referenzvariable verwiesen.
verwenden, um auf das Datenmitglied oder das Feld der übergeordneten Klasse zuzugreifen. Wenn die Eltern- und Kinderklasse das gleiche Feld haben, verwenden Sie es.
class Animal {
String color = "white";
}
class Dog extends Animal {
String color = "black";
void printColor() {
System.out.println(color); // 打印 Dog 类的颜色
System.out.println(super.color); // 打印 Animal 类的颜色
}
}
class TestSuper1 {
public static void main(String args[]) {
Dog d = new Dog();
d.printColor();
}
}
Ausgabe: ] Schwarz Weiß
Im obigen Beispiel haben sowohl Tier- als auch Hundeklassen öffentliche Attributfarbe. Wenn wir die Farbeigenschaft drucken, druckt sie standardmäßig die Farbe der aktuellen Klasse. Um auf die übergeordnete Eigenschaft zuzugreifen, müssen wir das Schlüsselwort
super verwenden.
Das Schlüsselwort kann auch verwendet werden, um übergeordnete Klassenmethoden aufzurufen. Wenn eine untergeordnete Klasse dieselbe Methode wie die übergeordnete Klasse enthält, sollte sie verwendet werden. Mit anderen Worten, wenn die Methode neu geschrieben wird, wird sie verwendet.
class Animal {
String color = "white";
}
class Dog extends Animal {
String color = "black";
void printColor() {
System.out.println(color); // 打印 Dog 类的颜色
System.out.println(super.color); // 打印 Animal 类的颜色
}
}
class TestSuper1 {
public static void main(String args[]) {
Dog d = new Dog();
d.printColor();
}
}
Ausgabe: ] Essen... Gebell...
Im obigen Beispiel haben sowohl Tier- als auch Hundeklassen die EAT () -Methode. wird der lokalen Methode gegeben. Um die übergeordnete Klassenmethode anzurufen, müssen wir das Schlüsselwort
super verwenden.
Das Schlüsselwort kann auch verwendet werden, um den Konstruktor der Elternklasse aufzurufen. Schauen wir uns ein einfaches Beispiel an:
class Animal {
String color = "white";
}
class Dog extends Animal {
String color = "black";
void printColor() {
System.out.println(color); // 打印 Dog 类的颜色
System.out.println(super.color); // 打印 Animal 类的颜色
}
}
class TestSuper1 {
public static void main(String args[]) {
Dog d = new Dog();
d.printColor();
}
}
Ausgabe: ] Tier wird erstellt Hund wird erstellt
Hinweis: Wenn es nein
super () oder this ()
Im Konstruktor fügt der Compiler jedem Klassenkonstruktor automatisch hinzu . ]. (Hinzugefügt werden)
Es ist bekannt, dass der Compiler den Standardkonstruktor automatisch angibt, wenn ein Konstruktor nicht existiert. Es fügt jedoch auch
Super ()
Ein weiteres Beispiel für das Schlüsselwort
Super
Super () implizit vom Compiler bereitgestellt wird. (Hinzugefügt werden)
class Animal {
Tier() {
System.out.println ("Tier wird erstellt");
}
}
Klassenhund erweitert Tier {
Hund() {
System.out.println ("Hund wird erstellt");
}
}
Klassentestsuper4 {
public static void main (String args []) {
Hund D = neuer Hund ();
}
}
class Animal {
Animal() {
System.out.println("animal is created");
}
}
class Dog extends Animal {
Dog() {
System.out.println("dog is created");
}
}
class TestSuper4 {
public static void main(String args[]) {
Dog d = new Dog();
}
}
] Tier wird erstellt Hund wird erstellt
super
Beispiel: Praktische Anwendung (ergänzt werden)
Lassen Sie uns die praktische Anwendung des Keywords Super
class Person {
int id;
Zeichenfolge Name;
Person (int id, Zeichenfolge Name) {
this.id = id;
this.name = name;
}
}
Klasse EMP erweitert die Person {
Schwimmergehalt;
EMP (int ID, Stringname, Float -Gehalt) {
Super (ID, Name);
this.Salary = Gehalt;
}
void display () {
System.out.println (ID "" Name "" Gehalt);
}
}
Klassentestsuper5 {
public static void main (String [] args) {
Emp e1 = neuer Emp (1, "Ankit", 45000f);
e1.display ();
}
}
class Animal {
Animal() {
System.out.println("animal is created");
}
}
class Dog extends Animal {
Dog() {
System.out.println("dog is created");
}
}
class TestSuper4 {
public static void main(String args[]) {
Dog d = new Dog();
}
}
] 1 ankit 45000
Referenz:https://www.javatpoint.com/super-keyword
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3