====== Abstrakte Klasse ======
Eine abstrakte Klasse wird erzeugt durch das Schlüsselwort //abstract// in der Klassendefinition:
public abstract class Tier
Eigenschaften von abstrakten Klassen:
* Im Gegensatz zu einer konventionellen [[..:klasse:start|Klasse]] kann von einer abstrakten Klasse keine Instanz erzeugt werden.
* Somit macht eine abstrakte Klasse alleine noch keinen Sinn sondern erst durch die Definition von Unterklassen (-> [[..:vererbung:start|Vererbung]]).
* Methoden können wie üblich geschrieben werden oder
* auch als abstrakt definiert werden, dabei enthält die Methode keinen Rumpf und muss in einer Unterklasse überschrieben werden. Beispiel: abstract public void laufe();
* In einem [[..:uml_diagramm:start|UML-Diagramm]] erkennt man eine abstrakte Klasse am kursiv geschriebenen Namen.