Schnittstellen (Einführung und Vergleiche)
Definieren Sie Schnittstellen, implementieren Sie sie in Klassen und vergleichen Sie sie mit abstrakten Klassen. Lernen Sie Default-Methoden und die mehrfache Implementierung kennen.
Schnittstellen (Einführung und Vergleiche) ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Was ist ein Interface?
Interface: ein Vertrag, der die Methodensignaturen auflistet, die eine Klasse bereitstellen muss. Verwenden Sie es, um eine Fähigkeit wie Drivable oder Printable zu beschreiben, ohne eine feste Klassenhierarchie vorzugeben.
Code: Ein Interface implementieren
Klassen implementieren Interfaces, um ein bestimmtes Verhalten zuzusichern. Sie können über den Interface-Typ auf das Objekt verweisen und die deklarierten Methoden aufrufen.
public class Main {
// Interface that declares a capability
static interface Drivable {
void drive(); // method to implement
}
// A class implements the interface
static class Car implements Drivable {
public void drive() {
System.out.println("Car is driving");
}
}
public static void main(String[] args) {
Drivable d = new Car(); // upcast to interface
d.drive(); // runs Car's method
}
}
Interfaces und abstrakte Klassen im Vergleich
Abstrakte Klasse = is-a-Beziehung mit gemeinsamem Code. Interface = can-do-Fähigkeit. Eine Klasse kann eine Klasse erweitern, aber mehrere Interfaces implementieren. Das hält Designs flexibel und vermeidet tiefe Hierarchien.
Code: Default-Methode
Interfaces können default-Methoden mit Code enthalten. Klassen, die das Interface implementieren, erben dieses kleine Verhalten automatisch.
public class Main {
// Interface with a default method (has a body)
static interface Greeter {
void greet(String name);
default void sayBye() { // default provides a reusable tiny implementation
System.out.println("Bye");
}
}
static class SimpleGreeter implements Greeter {
public void greet(String name) {
System.out.println("Hello, " + name);
}
}
public static void main(String[] args) {
Greeter g = new SimpleGreeter();
g.greet("Ada");
g.sayBye(); // default method from the interface
}
}
Mehrere Interfaces
Eine Klasse kann mehrere Interfaces gleichzeitig implementieren, zum Beispiel Drivable und Maintainable. So lassen sich Fähigkeiten modellieren, ohne eine feste Oberklassenkette zu erzwingen.
Code: Mehrere Interfaces
Eine Klasse implementiert beide Interfaces. Je nach Kontext können Sie sie als Drivable, Maintainable oder als ihren konkreten Typ behandeln.
public class Main {
static interface Drivable { void drive(); }
static interface Maintainable { void maintain(); }
static class ServiceCar implements Drivable, Maintainable {
public void drive() { System.out.println("ServiceCar driving"); }
public void maintain() { System.out.println("ServiceCar maintenance"); }
}
public static void main(String[] args) {
ServiceCar s = new ServiceCar();
s.drive();
s.maintain();
}
}
Interfaces überprüfen
Kurze Überprüfung: Welche Aussage über Interfaces in Java ist richtig?
Zusammenfassung
Zusammenfassung: Interfaces definieren Verhaltensverträge, die Klassen implementieren. Verwenden Sie Default-Methoden für kleine gemeinsame Codeabschnitte und kombinieren Sie bei Bedarf mehrere Fähigkeiten in einer Klasse.
Häufig gestellte Fragen
Ist die Lektion „Schnittstellen (Einführung und Vergleiche)“ kostenlos?
Ja — der vollständige Text von „Schnittstellen (Einführung und Vergleiche)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Schnittstellen (Einführung und Vergleiche)“?
Definieren Sie Schnittstellen, implementieren Sie sie in Klassen und vergleichen Sie sie mit abstrakten Klassen. Lernen Sie Default-Methoden und die mehrfache Implementierung kennen. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „Schnittstellen (Einführung und Vergleiche)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Abstrakte Klassen
- Schnittstellen (Einführung und Vergleiche)
- Up-/Downcasting und instanceof