Schnittstelle in Java mit Beispiel
Was ist Interface in Java?
An Schnittstelle in Java Programmiersprache wird als abstrakter Typ definiert, der verwendet wird, um das Verhalten einer Klasse anzugeben. Java Schnittstelle enthält statische Konstanten und abstrakte Methoden. Eine Klasse kann mehrere Schnittstellen implementieren. In Javawerden Schnittstellen mit dem Schlüsselwort „interface“ deklariert. Alle Methoden in der Schnittstelle sind implizit öffentlich und abstrakt.
Syntax zum Deklarieren einer Schnittstelle
Um eine Schnittstelle in Ihrer Klasse zu verwenden, hängen Sie das Schlüsselwort „implements“ an Ihren Klassennamen an, gefolgt vom Namen der Schnittstelle.
interface { //methods }
Beispiel für die Implementierung einer Schnittstelle
Lassen Sie uns nun die Schnittstelle verstehen in Java mit Beispiel:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Klicke hier wenn das Video nicht zugänglich ist
Warum ist eine Schnittstelle erforderlich?
Um die Verwendung der Schnittstelle in zu verstehen Java besser, lass uns sehen Java Schnittstellenbeispiel. Die Klasse „Media Player“ hat zwei Unterklassen: CD-Player und DVD-Player. Jede hat ihre eigene Schnittstellenimplementierung in Java Methode zum Abspielen von Musik.
Eine weitere Klasse „Combo-Laufwerk“ erbt sowohl CD als auch DVD (siehe Abbildung unten). Welche Abspielmethode soll es erben? Dies kann zu ernsthaften Designproblemen führen. Und daher Java erlaubt keine Mehrfachnutzung Erbschaft.
Nehmen wir nun ein weiteres Beispiel von Dog.
Angenommen, Sie haben eine Anforderung, bei der die Klasse „Hund“ die Klassen „Tier“ und „Haustier“ erbt (siehe Abbildung unten). Sie können jedoch nicht zwei Klassen in Java. Was würden Sie also tun? Die Lösung heißt Interface.
Das Regelwerk für die Schnittstelle besagt:
- A Java implement-Schnittstelle ist 100% abstrakte Klasse und hat nur abstrakte Methoden.
- Die Klasse kann eine beliebige Anzahl von Schnittstellen implementieren.
Die Klasse Dog kann auf die Klasse „Animal“ erweitert werden und die Schnittstelle als „Pet“ implementieren.
Java Schnittstellenbeispiel:
Lassen Sie uns das folgende Schnittstellenprogramm verstehen in Java:
Schritt 1) Kopieren Sie den folgenden Code in einen Editor.
interface Pet{ public void test(); } class Dog implements Pet{ public void test(){ System.out.println("Interface Method Implemented"); } public static void main(String args[]){ Pet p = new Dog(); p.test(); } }
Schritt 2) Speichern, kompilieren und führen Sie den Code aus. Beobachten Sie die Ausgabe der Schnittstelle in Java Programm.
Unterschied zwischen Klasse und Schnittstelle
Im Unterricht können Sie Variablen instanziieren und ein Objekt erstellen. | In einer Schnittstelle können Sie keine Variable instanziieren und kein Objekt erstellen. |
Die Klasse kann konkrete Methoden (mit Implementierung) enthalten | Die Schnittstelle kann keine konkreten (mit Implementierung) Methoden enthalten |
Die mit Klassen verwendeten Zugriffsspezifizierer sind privat, geschützt und öffentlich. | In der Schnittstelle wird nur ein Spezifizierer verwendet: Public. |
Wann werden Interface und Abstract Class verwendet?
- Verwenden Sie eine abstrakte Klasse, wenn eine Vorlage für eine Gruppe von Unterklassen definiert werden muss
- Verwenden Sie eine Schnittstelle, wenn eine Rolle für andere Klassen definiert werden muss, unabhängig vom Vererbungsbaum dieser Klassen
Muss Fakten über Interface wissen
- A Java Klasse kann mehrere implementieren Java Schnittstellen. Es ist notwendig, dass die Klasse alle in den Schnittstellen deklarierten Methoden implementiert.
- Die Klasse sollte alle in der Schnittstelle deklarierten abstrakten Methoden überschreiben
- Die Schnittstelle ermöglicht das Senden einer Nachricht an ein Objekt, ohne Rücksicht darauf, zu welcher Klasse es gehört.
- Die Klasse muss Funktionalität für die in der Schnittstelle deklarierten Methoden bereitstellen.
- Alle Methoden in einer Schnittstelle sind implizit öffentlich und abstrakt
- Eine Schnittstelle kann nicht instanziiert werden
- Eine Schnittstellenreferenz kann auf Objekte ihrer implementierenden Klassen verweisen
- Eine Schnittstelle kann von einer oder mehreren Schnittstellen ausgehen. Eine Klasse kann nur eine Klasse erweitern, aber eine beliebige Anzahl von Schnittstellen implementieren
- Eine Schnittstelle kann keine andere Schnittstelle implementieren. Bei Bedarf muss eine weitere Schnittstelle erweitert werden.
- Eine Schnittstelle, die innerhalb einer anderen Schnittstelle deklariert ist, wird als verschachtelte Schnittstelle bezeichnet
- Zum Zeitpunkt der Deklaration muss die Schnittstellenvariable initialisiert werden. Andernfalls gibt der Compiler einen Fehler aus.
- Die Klasse kann nicht zwei Schnittstellen in Java implementieren, die Methoden mit demselben Namen, aber unterschiedlichem Rückgabetyp haben.
Zusammenfassung:
- Die Klasse, die die Schnittstelle implementiert, muss Funktionalität für die in der Schnittstelle deklarierten Methoden bereitstellen
- Alle Methoden in einer Schnittstelle sind implizit öffentlich und abstrakt
- Eine Schnittstelle kann nicht instanziiert werden
- Eine Schnittstellenreferenz kann auf Objekte ihrer implementierenden Klassen verweisen
- Eine Schnittstelle kann von einer oder mehreren Schnittstellen ausgehen. Eine Klasse kann nur eine Klasse erweitern, aber beliebig viele Schnittstellen implementieren