was ist der unterschied zwischen einem interface und einer klasse in java?

1 Antwort

Interfaces sind *nicht* das gleiche.

Ein Interface kann keine Implementierung haben und eine Klasse kann beliebig viele Interfaces implementieren.

Interfaces definieren einen Contract, sie definieren, was für Inhalte eine Klasse haben soll und wenn Du eine Instanz der Klasse hast, kannst Du auch das Interface als Typ verwenden, anstelle der Klasse. So kannst Du Code schreiben, der nur das Interface kennt, aber nicht die Klasse, der Code funktioniert mit mehreren Klassen und er ist von den Implementierungen der Interfaces losgelöst (nicht mehr davon abhängig), man kann den Code automatisch testen, weil man Fake-Implementierungen übergeben kann.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler