So, in meinem Skript hab eich jetzt folgendes stehen:
Zitat:
\subsection{Warum abstrakte Klassen?}
Abstrakte Klassen stellen einen Prototypen\index{Prototyp} oder eine Basiklasse\index{Basisklasse} dar, worauf die abgeleiteten Klassen dann aufbauen. Durch abstrakte Methoden\index{Methode!abstrakt} wird den abgeleiteten Klassen mitgeteilt, welche Methoden sie noch selber implementieren muss. Abstrakte Methoden sind dann sinnvoll, wenn abgeleitete Klassen identische Eigenschaften haben, die sich aber unterschiedlich verhalten. So haben geometrische Figuren die gemeinsame Eigenschaft \emph{Fläche}. Die Berechnung der Fläche hängt jedoch von der geometrischen Figur ab. In der Basisklasse wird die Methode zur Berechnung der Fläche als abstrakt deklariert, da sie nicht sinnvoll implementiert werden kann, da sich die Fläche der unterschiedlichen geometrischen Körper auch unterschiedlich errechnet.
Abstrakte Klassen kann man nicht instanzieren in Java, da sie Methoden besitzen, die nicht implementiert sind und somit ohne Funktion. Solch eine Klasse mit leeren Metrhoden zu instanzieren, wäre nicht sinnvoll. Ist eine Methode der Klasse abstrakt gekennzeichnet, so muss die ganze Klasse als abstrakt gekennzeichnet werden.