Interfaces, wozu braucht man das eigentlich?

Hi!
Wozu brauche ich eigentlich Interfaces in Java? Wenn ich ein Interface implementiere in einer Klasse, dann muss ich ja alle Methoden implementieren. Rein theoretisch könnte ich doch dann aber auch alles ohne das Interface machen, oder?

Danke im Voraus auf Antworten!

Hallo.

Wozu brauche ich eigentlich Interfaces in Java?

Kommt drauf an. Aber siehe auch die Antwort unter http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

mfg M.L.

Hi,

Wozu brauche ich eigentlich Interfaces in Java? Wenn ich ein
Interface implementiere in einer Klasse, dann muss ich ja alle
Methoden implementieren. Rein theoretisch könnte ich doch dann
aber auch alles ohne das Interface machen, oder?

abgesehen von der Begründung in der verlinkten Antwort, gibt es noch einen guten Grund für Interfaces: Es ist guter Stil, dass Komponenten nach aussen NUR Interfaces anbieten und Klassen allenfalls zum Datentransport (Value Object). Erzeugt werden die Komponenten dann z.B. über ein JNDI lookup (http://de.wikipedia.org/wiki/JNDI) oder noch besser über Injection (http://de.wikipedia.org/wiki/Dependency_Injection).

Dan kann man die Komponenten nämlich ohne Neukompiliation austauschen und man ist überhaupt von Implementations-Details weniger abhänig als bei Klassen. Das ist narürlich eher beim „programming in the large“ angesagt, und kaum wenn man Java z.B. gerade erst anfängt zu erlernen.

Alles Gute wünscht
… Michael