was ist der unterschied zwischen einem interface und einer klasse in java?
???
ich sollte ein interface implementieren habe es aber mit einer klasse also mit class klassenname{
...
}
gemacht ging auch, also ist das sozusagen das gleiche oder wozu braucht man interfaces? kann man etwa mit interfaces mehrere sachen erben bei klassen geht das ja nur mit extends oder implements bzw. as ist eig der unterschied zwischen implements und extends
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.