Der Hauptgrund für abstrakte Klassen in Java ist, dass von ihnen kein Objekt erzeugt werden kann. Sie dienen als Superklassen für andere Klassen.
Abstrakte Klasse definieren
public abstract class Klasse{}Abstrakte Klassen verwenden
public class SubKlasse extends Klasse{}Abstrakte Methoden
Ist eine Methode abstrakt muss diese in der Subklasse definiert werden.
abstract class Klasse{
public void methode1(){
System.out.println("Methode 1");
}
public abstract void methode2();
}
class SubKlasse extends Klasse{
@Override
public void methode2() {
System.out.println("Methode 2 SubKlasse");
}
}
public class Main {
public static void main(String[] args) {
Klasse o1 = new SubKlasse();
o1.methode1(); //Methode 1
o1.methode2(); //Methode 2 SubKlasse
}
}Ist eine Methode nicht abstrakt, muss sie auch nicht überschrieben werden. Ist eine Methode abstrakt muss die ganze Klasse abstrakt sein.