Java -Tutorials

Java-HOME Java-Einführung Java-Erste Schritte Java-Syntax Java-Kommentare Java-Variablen Java-Datentypen Java-Type-Casting Java-Operatoren Java-Strings Java-Mathematik Java-Booleans Java Wenn ... Sonst Java-Schalter Java-While-Schleife Java-For-Schleife Java Break/Continue Java-Arrays

Java-Methoden

Java-Methoden Java-Methodenparameter Überladen von Java-Methoden Java-Bereich Java-Rekursion

Java-Klassen

Java-OOP Java-Klassen/Objekte Attribute der Java-Klasse Java-Klassenmethoden Java-Konstruktoren Java-Modifikatoren Java-Kapselung Java-Pakete / API Java-Vererbung Java-Polymorphismus Innere Java-Klassen Java-Abstraktion Java-Schnittstelle Java-Enumerationen Java-Benutzereingabe Java-Datum Java-ArrayList Java LinkedList Java-HashMap Java-HashSet Java-Iterator Java-Wrapper-Klassen Java-Ausnahmen Java-RegEx Java-Threads Java-Lambda

Umgang mit Java-Dateien

Java-Dateien Java-Dateien erstellen/schreiben Java-Dateien lesen Java-Dateien löschen

Java-How-To

Fügen Sie zwei Zahlen hinzu

Java-Referenz

Java-Schlüsselwörter Java-String-Methoden Java-Mathematikmethoden

Java-Beispiele

Java-Beispiele Java-Compiler Java-Übungen Java Quiz Java-Zertifikat


Java -Vererbung


Java-Vererbung (Unterklasse und Oberklasse)

In Java ist es möglich, Attribute und Methoden von einer Klasse auf eine andere zu vererben. Wir gliedern das „Vererbungskonzept“ in zwei Kategorien:

  • Unterklasse (Kind) - die Klasse, die von einer anderen Klasse erbt
  • Superklasse (übergeordnet) - die Klasse, von der geerbt wird

Um von einer Klasse zu erben, verwenden Sie das extends Schlüsselwort.

Im folgenden Beispiel Carerbt die Klasse (Unterklasse) die Attribute und Methoden von der VehicleKlasse (Oberklasse):

Beispiel

class Vehicle {
  protected String brand = "Ford";        // Vehicle attribute
  public void honk() {                    // Vehicle method
    System.out.println("Tuut, tuut!");
  }
}

class Car extends Vehicle {
  private String modelName = "Mustang";    // Car attribute
  public static void main(String[] args) {

    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (from the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand attribute (from the Vehicle class) and the value of the modelName from the Car class
    System.out.println(myCar.brand + " " + myCar.modelName);
  }
}

Haben Sie den protectedModifikator im Fahrzeug bemerkt?

Wir setzen das Markenattribut in Vehicle auf einen protected Zugriffsmodifikator . Wenn es auf gesetzt privatewäre, würde die Autoklasse nicht darauf zugreifen können.

Warum und wann wird "Vererbung" verwendet?

- Es ist nützlich für die Wiederverwendbarkeit von Code: Verwenden Sie Attribute und Methoden einer vorhandenen Klasse wieder, wenn Sie eine neue Klasse erstellen.

Tipp: Werfen Sie auch einen Blick auf das nächste Kapitel, Polymorphism , das vererbte Methoden verwendet, um verschiedene Aufgaben auszuführen.


Das letzte Schlüsselwort

Wenn Sie nicht möchten, dass andere Klassen von einer Klasse erben, verwenden Sie das finalSchlüsselwort:

Wenn Sie versuchen, auf eine finalKlasse zuzugreifen, generiert Java einen Fehler:

final class Vehicle {
  ...
}

class Car extends Vehicle {
  ...
}

Die Ausgabe wird in etwa so aussehen:

Main.java:9: error: cannot inherit from final Vehicle
class Main extends Vehicle {
                  ^
1 error)