Genaue Definition abstract Klasse und interface?
Durch die Recherche bin ich nun komplett verwirrt. Eine abstrakte Klasse ist eine Oberklasse. Ist der einzige Unterschied zu einer normalen Superklasse, dass die abstrakte Klasse abstrakte Methoden besitzt? Laut den Vorlesungsfolien besitzen abstrakte Klassen abstrakte Methoden, die aber nicht implementiert sind. Die Implementierung findet erst in der ersten konkreten Klasse statt und dort werden alle abstrakten Methoden implementiert. Aber warum? Was ist wenn diese konkrete Klasse diese Methode garnicht braucht? Wozu braucht man überhaupt die abstrakte Klasse und ihre abstrakten Methoden?
Interfaces sind ja komplett abstrakte "Klassen". Was ist der Unterschied zu abstrakten Klassen? Abstrakte Klassen können auch nicht abstrakte Methoden enthalten.. ist das der einzige Unterschied? Eine Klasse kann mehrere Interfaces haben, aber ein Interface kann nur in einer Klasse implementiert werden, stimmt das? Und auch hier werden die Methode des Interfaces in einer normalen Klasse implementiert..
Irgendwie ist mir der Unterschied zwischen abstrakte Klassen und Interfaces nicht klar, genau so warum es diese beiden "Klassen" gibt