Was ist ein Interface?
Was ist, wenn eine Vererbung von mehr als einer Klasse erforderlich ist? Java ermöglicht dies mit Interfaces. Trotz des Namens ähnelt ein Interface einer abstrakten Klasse. Nachfolgend die Deklaration eines Interfaces:
Einfach ausgedrückt dient ein Interface zur Definition von Methoden, die eine Klasse implementieren wird. Interfaces besitzen eine eigene Syntax für die Erstellung. Während für Klassen "public class className { }" verwendet wird, unterscheidet sich die Syntax für die Erstellung eines Interfaces:
InterfaceExample.java
123456package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
- Beachten Sie die Methodendeklaration;
- Es werden keine Zugriffsmodifizierer verwendet;
- Es werden keine Methodenkörper bereitgestellt;
- Es ist nicht erforderlich, Methoden als abstract zu kennzeichnen, da wir innerhalb eines Interfaces arbeiten;
- Es werden keine Felder innerhalb von Interfaces erstellt.
Betrachten wir die Verwendung eines Interface am Beispiel eines Media Players.
Wir haben ein Interface namens MediaPlayer, das die Methoden play, pause und stop enthält. Zusätzlich gibt es zwei Klassen, die dieses MediaPlayer-Interface implementieren, nämlich AudioPlayer und VideoPlayer.
MediaPlayer.java
AudioPlayer.java
VideoPlayer.java
12345public interface MediaPlayer { void play(); void pause(); void stop(); }
Wie Sie sehen, haben wir ein interface und zwei Klassen erstellt, die dieses Interface implementieren. Die Syntax ist identisch wie beim Überschreiben abstrakter Methoden. Wir haben jede Methode für jede Klasse überschrieben, um deren spezifische Funktion auszuführen.
Ein Merkmal von Interfaces ist, dass mehr als ein Interface implementiert werden kann. Sehen wir uns ein Beispiel an:
Vehicle.java
VehicleInfo.java
Car.java
123456package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Wir haben die Schnittstellen Vehicle und VehicleInfo erstellt. Zusätzlich haben wir eine Klasse Car erstellt, die beide dieser Schnittstellen implementiert. Auf diese Weise können wir auswählen, welches Verhalten in der Klasse implementiert wird, was das objektorientierte Programmierprinzip der Abstraktion hervorragend ergänzt.
Die Arbeit mit Schnittstellen ist sehr komfortabel und sie werden häufig verwendet. Im nächsten Kapitel werden wir außerdem die wichtigsten Unterschiede zwischen einer Schnittstelle und einer abstrakten Klasse untersuchen und erfahren, welche in der Praxis besser geeignet ist!
1. Was ist eine Schnittstelle (Interface) in Java?
2. Kann eine Klasse in Java mehrere Schnittstellen implementieren?
3. Was ist der Zweck eines Interface in Java?
4. Welches Schlüsselwort wird verwendet, um ein Interface in einer Klasse zu implementieren?
5. Was passiert, wenn eine Klasse angibt, ein Interface zu implementieren, aber nicht alle Methoden implementiert?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you show me an example of how to declare an interface in Java?
What is the difference between an interface and an abstract class?
How do you implement multiple interfaces in a single class?
Awesome!
Completion rate improved to 4.76
Was ist ein Interface?
Swipe um das Menü anzuzeigen
Was ist, wenn eine Vererbung von mehr als einer Klasse erforderlich ist? Java ermöglicht dies mit Interfaces. Trotz des Namens ähnelt ein Interface einer abstrakten Klasse. Nachfolgend die Deklaration eines Interfaces:
Einfach ausgedrückt dient ein Interface zur Definition von Methoden, die eine Klasse implementieren wird. Interfaces besitzen eine eigene Syntax für die Erstellung. Während für Klassen "public class className { }" verwendet wird, unterscheidet sich die Syntax für die Erstellung eines Interfaces:
InterfaceExample.java
123456package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
- Beachten Sie die Methodendeklaration;
- Es werden keine Zugriffsmodifizierer verwendet;
- Es werden keine Methodenkörper bereitgestellt;
- Es ist nicht erforderlich, Methoden als abstract zu kennzeichnen, da wir innerhalb eines Interfaces arbeiten;
- Es werden keine Felder innerhalb von Interfaces erstellt.
Betrachten wir die Verwendung eines Interface am Beispiel eines Media Players.
Wir haben ein Interface namens MediaPlayer, das die Methoden play, pause und stop enthält. Zusätzlich gibt es zwei Klassen, die dieses MediaPlayer-Interface implementieren, nämlich AudioPlayer und VideoPlayer.
MediaPlayer.java
AudioPlayer.java
VideoPlayer.java
12345public interface MediaPlayer { void play(); void pause(); void stop(); }
Wie Sie sehen, haben wir ein interface und zwei Klassen erstellt, die dieses Interface implementieren. Die Syntax ist identisch wie beim Überschreiben abstrakter Methoden. Wir haben jede Methode für jede Klasse überschrieben, um deren spezifische Funktion auszuführen.
Ein Merkmal von Interfaces ist, dass mehr als ein Interface implementiert werden kann. Sehen wir uns ein Beispiel an:
Vehicle.java
VehicleInfo.java
Car.java
123456package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Wir haben die Schnittstellen Vehicle und VehicleInfo erstellt. Zusätzlich haben wir eine Klasse Car erstellt, die beide dieser Schnittstellen implementiert. Auf diese Weise können wir auswählen, welches Verhalten in der Klasse implementiert wird, was das objektorientierte Programmierprinzip der Abstraktion hervorragend ergänzt.
Die Arbeit mit Schnittstellen ist sehr komfortabel und sie werden häufig verwendet. Im nächsten Kapitel werden wir außerdem die wichtigsten Unterschiede zwischen einer Schnittstelle und einer abstrakten Klasse untersuchen und erfahren, welche in der Praxis besser geeignet ist!
1. Was ist eine Schnittstelle (Interface) in Java?
2. Kann eine Klasse in Java mehrere Schnittstellen implementieren?
3. Was ist der Zweck eines Interface in Java?
4. Welches Schlüsselwort wird verwendet, um ein Interface in einer Klasse zu implementieren?
5. Was passiert, wenn eine Klasse angibt, ein Interface zu implementieren, aber nicht alle Methoden implementiert?
Danke für Ihr Feedback!