Definition
Abstrakte Klassen
Abstrakte Klassen sind Java-Klassen, die mindestens eine abstrakte Methode besitzen. Von abstrakten Klassen können keine Objekte erzeugt werden, nur von den Unterklassen einer abstrakten Klasse ist das möglich.
Abstrakte Methoden
Abstrakte Methoden sind Methoden, die lediglich aus einer Signatur bestehen, gefolgt von einem Semikolon.
Die abstrakten Methoden einer abstrakten Klasse müssen in den Unterklassen der abstrakten Klasse durch konkrete Methoden (mit der gleichen Signatur) überschrieben werden.
Beispiel 1

Die abstrakte Klasse GeoFigur
Dieses Bild zeigt den Quelltext der abstrakten Klasse Geofigur. Das ganze Projekt können Sie sich übrigens unter "Java-Beispiel 'Heterogene Liste' " anschauen.
Die beiden Methoden anzeigen() und loeschen() in dieser Klasse sind abstrakt, und daher muss auch die gesamte Klasse als abstract deklariert werden:
public abstract class GeoFigur

Die konkrete Unterklasse Kreis
Hier sehen wir den Quelltext der konkreten (also nicht-abstrakten) Unterklasse Kreis. Die beiden abstrakten Methoden anzeigen() und loeschen() werden hier durch konkrete Methoden (Signatur + Implementierung) überschrieben (siehe auch "Überschreiben von Methoden").
Angenommen, wir haben mehrere verschiedene Unterklassen der abstrakten Klasse GeoFigur, beispielsweise Kreis, Rechteck, Quadrat, Dreieck, Fuenfeck und so weiter. Dann könnten wir einen Array bilden, der so aufgebaut ist wie in der folgenden Test-Klasse:

Die Testklasse
Von der abstrakten Oberklasse GeoFigur wird ein einfacher Array angelegt:
GeoFigur[] geoArry = new GeoFigur[6];
In der Methode auffuellen() werden drei Objekte der Klasse Kreis, ein Rechteck-Objekt, ein Dreieck-Objekt und ein Quadrat-Objekt erzeugt und in den Array eingefügt. So entsteht ein heterogener Array, also ein Array mit Elementen unterschiedlichen Datentyps.
- Lahres et al.: Objektorientierte Programmierung, Rheinwerk Computing 2021.
- Barnes, Kölling: Java lernen mit BlueJ - Objects first. Pearson-Verlag 2019.
- Ullenboom: Java ist auch eine Insel, Rheinwerk Computing 2023.
- Kecher et al.: UML 2.5 - Das umfassende Handbuch, Rheinwerk Computing 2021