[Java] Was ist Klassenvererbung?

Was ist Klassenvererbung?

Vererbung ist eine Funktion zum Schreiben einer untergeordneten klassenspezifischen Verarbeitung, während die allgemeine Verarbeitung geerbt wird, indem untergeordnete Klassen (Unterklassen) basierend auf der übergeordneten Klasse (Superklasse) erstellt werden. Mit der Vererbung müssen Sie nicht immer wieder ähnliche Programme schreiben, um Ihre Arbeit zu optimieren und den gesamten Quellcode besser lesbar zu machen.

So erben Sie Java-Klassen

Fügen Sie beim Erben nach der Klassendeklaration "erweitert" hinzu und geben Sie den Namen der übergeordneten Klasse als Vererbungsquelle an. Es gibt jedoch nur eine Klasse, die von Java geerbt werden kann. Es ist nicht möglich, zwei Klassen gleichzeitig zu erben (Mehrfachvererbung verboten).

Klasse Klassenname erweitert den ursprünglichen Klassennamen{
"Differenz" -Mitglied mit Elternklasse
}

Wenn Sie die Methode oder den Konstruktor der geerbten Klasse verwenden, verwenden Sie "super", um darauf zuzugreifen und darauf zu verweisen.

Klasse Klassenname erweitert den ursprünglichen Klassennamen(Streit) {
  //Rufen Sie den Konstruktor der übergeordneten Klasse auf
  super(Streit);
  //Rufen Sie die Methode des übergeordneten Instanzteils auf
  super.Methodenname(Streit);
}

Methodenüberschreibung

Überschreiben dient zum Überschreiben des Inhalts der in der übergeordneten Klasse definierten Methode. Es wird verwendet, wenn Sie den Inhalt der in der übergeordneten Klasse definierten Methode ein wenig ändern möchten. Die Bedingung für das Überschreiben ist, dass Methodenname, Rückgabewert und Argumente identisch sind.

[Elternklasse]
    public void output() {
      System.out.println("Erbe");
    }
[Kinderklasse]
    public void output() {
      System.out.println("überschreiben");
    }
  

Dies ist eine praktische Überschreibung, da Sie die Methode, die Sie ändern möchten, frei ändern können, während Sie die übergeordnete Klasse (Superklasse) wiederverwenden. Es gibt jedoch einige Regeln, die Sie bei der Verwendung befolgen müssen. Erstens, wenn eine Methode in der übergeordneten Klasse (Superklasse) den letzten Modifikator hat, kann die untergeordnete Klasse (Unterklasse) diese Methode nicht überschreiben. Sie sollten sich auch darüber im Klaren sein, dass Variablen und Methoden mit dem privaten Modifikator in der Oberklasse für Unterklassen nicht verfügbar sind.

Unterschied zur Überlastung

Überladung ist ein Begriff, der dem Überschreiben ähnlich ist. Es ist oft falsch, deshalb erkläre ich es kurz. Überladen ist die Deklaration mehrerer "Methoden mit demselben Namen" in einer Klasse. Die Überlastungsbedingung ist, dass method der Methodenname derselbe ist ➁ der Typ, die Nummer und die Reihenfolge der Argumente unterschiedlich sind.

  public void output() {}
  public void output(String str) {}
  public void output(String str, int i) {}
  public void output(int i, String str) {}

Zusammenfassung

Bei Verwendung der Klassenvererbung muss die untergeordnete Klasse die Elementvariablen und Elementmethoden der übergeordneten Klasse nicht neu schreiben. Dadurch wird der Code auch leichter lesbar und später repariert und gewartet.

Recommended Posts

[Java] Was ist Klassenvererbung?
[Java-Grundlagen] Was ist Klasse?
[Java] Klassenvererbung
Was ist java
Was ist Java <>?
Was ist java
Was ist Java-Kapselung?
Was ist eine Klasse in der Java-Sprache (2 /?)
Was ist Java-Technologie?
Was ist Java API-Java?
[Java] Was ist flatMap?
[Java] Was ist ArrayList?
Was ist Java Assertion? Zusammenfassung.
Was ist eine Wrapper-Klasse?
Was ist die BufferedReader-Klasse?
Was ist eine Java-Sammlung?
[Java] Was ist jaee j2ee?
Was ist Java-Fluchtanalyse?
[Java] Vererbung
Java-Vererbung
Java-Vererbung
Java (Vererbung)
Was ist JVM (Java Virtual Machine)?
Was ist Thread-sicher (mit Java)
[Java] Was ist die Ausnahme für gleichzeitige Änderungen?
Was ist ein Lambda-Ausdruck (Java)
Was ist die LocalDateTime-Klasse? [Java-Anfänger] -Datum und Zeitklasse-
Was ist Cubby?
Java-Klassenmethoden
Was ist null? ]]
Java-Scanner-Klasse
Was ist Schlüsselumhang?
Java HashMap-Klasse
Was ist Maven?
Was ist Jackson?
Informationen zur Klassenvererbung.
Java (abstrakte Klasse)
Was ist Selbst
Was ist Jenkins?
Was ist ArgumentMatcher?
Was ist IM-Jonglieren?
Was ist das beste Lesen von Dateien (Java)
Was ist params
Was ist SLF4J?
[Java] Verschachtelte Klasse
Was ist Java und Entwicklungsumgebung (MAC)
Anonyme Java-Klasse
Was ist Fassade? ??
Was ist POJO?
Was ist die Hauptmethode in Java?
Was ist centOS?
Was ist RubyGem?
Über Java-Vererbung
Was ist before_action?
Was ist Docker?
[Java] Abstrakte Klasse
[Java] Objektklasse