Wenn wir das Schreiben einer Klasse vorbereiten, stellen wir fest, dass eine bestimmte Klasse über die von uns benötigten Mitgliedsvariablen und -methoden verfügt. Wenn wir die Mitgliedsvariablen und -methoden in dieser Klasse wiederverwenden möchten, müssen wir keine Mitgliedsvariablen und Definitionen in der Klasse deklarieren Wenn die Methode, die wir schreiben, dieser Mitgliedsvariablen und -methode entspricht, können wir die Klasse, die wir schreiben, als Unterklasse dieser Klasse definieren.
Vererbung ist ein Mechanismus zum Erstellen neuer Klassen aus vorhandenen Klassen. Mithilfe der Vererbung können wir zunächst eine allgemeine Klasse mit gemeinsamen Attributen definieren und dann eine Unterklasse mit speziellen Attributen basierend auf der allgemeinen Klasse definieren. und Verhaltensweisen und fügen Sie bei Bedarf eigene neue Eigenschaften und Verhaltensweisen hinzu. Die durch Vererbung erhaltene Klasse wird als Unterklasse bezeichnet, und die geerbte Klasse wird als übergeordnete Klasse (Superklasse) bezeichnet.
Beachten:
Java unterstützt keine Mehrfachvererbung, das heißt, eine Unterklasse kann nur eine übergeordnete Klasse haben. Menschen sind es gewohnt, die Beziehung zwischen einer Unterklasse und einer übergeordneten Klasse als „ist eine“-Beziehung zu bezeichnen.
Bei der Deklaration einer Klasse wird eine Unterklasse einer Klasse mithilfe des Schlüsselworts „extends“ definiert. Das allgemeine Format lautet:
Der Name der Klassenunterklasse erweitert den Namen der übergeordneten Klasse {…}
Zum Beispiel:
classStudentextendsPeople{…}
Definieren Sie die Student-Klasse als Unterklasse der People-Klasse, und die People-Klasse ist die übergeordnete Klasse (Superklasse) der Student-Klasse.
Klassenbaumstruktur:
Wenn C ein Untertyp von B und B ein Untertyp von A ist, ist es üblich, C einen Nachkommen von A zu nennen. Java-Klassen bilden eine Baumstruktur gemäß Vererbungsbeziehungen (stellen Sie sich Klassen als Knoten im Baum vor). In dieser Baumstruktur ist der Wurzelknoten die Object-Klasse (Object ist eine Klasse im Paket java.lang), also Object ist die Vorfahrenklasse aller Klassen. Jede Klasse ist ein Nachkomme der Object-Klasse. Jede Klasse (außer der Object-Klasse) hat eine und nur eine übergeordnete Klasse. Eine Klasse kann mehrere oder keine Unterklassen haben.
Beachten:
Wenn das Schlüsselwort „extends“ nicht in der Deklaration einer Klasse verwendet wird (mit Ausnahme der Object-Klasse), wird die Klasse vom System standardmäßig auf eine Unterklasse von Object gesetzt. Beispiel: Die Klassendeklaration „Klasse A“ entspricht „Klasse A erweitert Objekt“.