Was ist ein Interface in der Programmierung?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Suche im Internet halt nach "Java-Interface", da wirst du reichlich Erklärungen finden.

Kurz gesagt:

Java-Interfaces enthalten Methoden, welche keinen Methodenrumpf besitzen. Sie können ähnlich wie abstrakte Klassen Methoden vorgeben, die andere Klassen implementieren müssen. Das gilt für alle Klassen, welche das Interface implementieren (Schlüsselwort: implements). Mit Interfaces ist es möglich, die fehlende Mehrfachvererbung in Java auszugleichen, da Klassen mehrere Interfaces implementieren können, nicht aber von mehreren Oberklassen erben können. Wenn du das genauer verstehen willst und du Erklärungen bereits gelesen hast, schau dir unbedingt Beispiele an.

Woher ich das weiß:Studium / Ausbildung

In Java ist ein Interface in erster Linie eine abstrakte Klasse. (Das schon mal gehört?)

Eine Klasse kann von dieser erben und kann ihre Methoden überschreiben.

In Java notiert man eine abstrakte Klasse mit

abstract class XYZ { . . . }

Der Unterschied zum Interface

interface XYZ { . . . }, ist das alle Methoden des Interfaces beim erben überschrieben werden müssen. Im Interface etwas implementieren kann man selbst nur eingeschränkt, z. B. über das default Keyword. Sicherlich gibt es noch mehr Feinheiten, aber grob kann ich das so stehen lassen.