Unterschied zwischen Abstrakter Klasse und Interface?

2 Antworten

Interfaces implementieren keine Mehrfachvererbung. Interfaces werden verwendet, um Protokollkompatibilität zwischen Klassen zu erzwingen, die ansonsten in keiner hierarchischen Beziehung zueinander stehen.

Eine Klasse kann mehrere Interfaces implementieren; das sieht ein bißchen nach Mehrfachvererbung aus, es ist aber keine Mehrfachverarbeitung, da eine Klasse alle Methoden aller verwendeten Interfaces implementieren muss.

Ab Java 8 kann eine Interface Spezifikation allerdings Definitionen für default methods und static methods enthalten; damit wird eine eingeschränkte Mehrfachvererbung in Java erstmals möglich, bei der eine Klasse die default methods mehrerer Interfaces genau dann erbt, wenn sie diese Methoden nicht selbst definiert.

Vielleicht helfen dir diese Links:

https://www.centron.de/tutorial/java-8-interface-aenderungen/

https://entwickler.de/java/java-tutorial-java-8-methoden-in-interfaces

Woher ich das weiß:Berufserfahrung – Berufstätigkeit als Software-Entwickler

PsySkill 
Beitragsersteller
 27.08.2024, 19:59

Herzlichen Dank für die ausführliche Antwort. Leider wurde das so präzise nicht in der Vorlesung vorgestellt. Ich wünsche dir noch einen schönen Abend

Abstrakte Klasse -> Vererbung

Interfaces -> Komposition

Vererbung ist böse, Komposition ist gut.

Den Rest hat BorisG2011 gut erklärt :)