Vererbung
= die Übertragung von Eigenschaften / Attributen an die Unterklasse
- Ableiten einer Klasse
- durch das Schlüsselwort extends
- abgeleitete Klasse erbt die Instanzvariablen der Mutterklasse
- Klassen die keine extends - Schlüsselwort besitzen werden von der Klasse Object abgeleitet
- Object ist die Superklasse aller Klassen
- abgeleitete Klasse erbt die Methoden der Mutterklasse
- Abstrakte Klassen
- enthalten nur Deklarationen der Methoden
- Methoden enthält anstelle von { } ---> ein ;
- abstrakte Methoden werden mit dem Schlüsselwort abstract gekennzeichnet
- abstrakte Methoden können nicht direkt aufgerufen werden
(nur durch Überschreiben in Kindsklasse)
- abstrakte Klassen werden durch die Implementierung in verschiedenen Kindsklassen konkret
- Aufruf von Methoden im Konstruktor die überlagert werden, sollten vermieden werden
- Konstruktor Vererbung
- durch das Schlüsselwort super() (Konstruktor muss in Mutterklasse vorhanden sein)
- Vererbung / Überlagerung von Methoden
- private Methoden sind im abgeleiteten Klassen nicht sichtbar => nicht überschreibbar
- final Methoden sind vom Anwender als nicht überschreibbare Methoden gekennzeichnet
- static Methoden bestehen unabhängig von Instanzen und haben das Problem nicht
- Mithilfe von super.methode() kann die durch die Kindsklasse verdeckte Methode der Mutterklasse aufgerufen werden