Was ist eine Schnittstelle in Java:Wie man eine Schnittstelle mit Beispiel implementiert
Was ist eine Schnittstelle in Java?
Eine Schnittstelle in Java Programmiersprache ist als abstrakter Typ definiert, der verwendet wird, um das Verhalten einer Klasse zu spezifizieren. Eine Java-Schnittstelle enthält statische Konstanten und abstrakte Methoden. Eine Klasse kann mehrere Schnittstellen implementieren. In Java werden Schnittstellen mit dem Schlüsselwort interface deklariert. Alle Methoden in der Schnittstelle sind implizit öffentlich und abstrakt.
Jetzt lernen wir, wie man die Schnittstelle in Java verwendet.
Syntax zum Deklarieren der Schnittstelle
Um eine Schnittstelle in Ihrer Klasse zu verwenden, fügen Sie das Schlüsselwort „implements“ nach Ihrem Klassennamen gefolgt vom Namen der Schnittstelle an.
interface { //methods }
Beispiel für die Implementierung der Schnittstelle
Lassen Sie uns nun die Schnittstelle in Java anhand des Beispiels verstehen:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Klicken Sie hier, wenn das Video nicht zugänglich ist
Warum ist eine Schnittstelle erforderlich?
Um die Verwendung der Schnittstelle in Java besser zu verstehen, sehen Sie sich ein Beispiel für eine Java-Schnittstelle an. Die Klasse „Media Player“ hat zwei Unterklassen:CD-Player und DVD-Player. Jedes hat seine einzigartige Schnittstellenimplementierung in Java-Methode zum Abspielen von Musik.
Eine andere Klasse „Combo-Laufwerk“ erbt sowohl CD als auch DVD (siehe Abbildung unten). Welche Spielmethode soll es erben? Dies kann schwerwiegende Designprobleme verursachen. Daher erlaubt Java keine Mehrfachvererbung.
Nehmen wir nun ein weiteres Beispiel für Hund.
Angenommen, Sie haben eine Anforderung, bei der die Klasse „Hund“ die Klassen „Tier“ und „Haustier“ erbt (siehe Abbildung unten). Aber Sie können in Java nicht zwei Klassen erweitern. Was würdest du also tun? Die Lösung heißt Interface.
Das Regelbuch für Schnittstellen sagt,
- Eine Java-Implementierungsschnittstelle ist zu 100 % eine abstrakte Klasse und hat nur abstrakte Methoden.
- Klasse kann beliebig viele Schnittstellen implementieren.
Die Klasse Hund kann sich auf die Klasse „Tier“ erweitern und die Schnittstelle als „Haustier“ implementieren.
Java-Schnittstellenbeispiel:
Lassen Sie uns das folgende Schnittstellenprogramm in Java verstehen:
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. Beachten Sie die Ausgabe der Schnittstelle im Java-Programm.
Unterschied zwischen Klasse und Schnittstelle
In der Klasse können Sie Variablen instanziieren und ein Objekt erstellen. | In einer Schnittstelle können Sie keine Variablen instanziieren und ein Objekt erstellen. |
Klasse kann konkrete (mit Implementierung) Methoden enthalten | Die Schnittstelle darf keine konkreten (mit Implementierung) Methoden enthalten |
Die mit Klassen verwendeten Zugriffsspezifizierer sind private, protected und public. | Im Interface wird nur ein Bezeichner verwendet – Public. |
Wann sollen Interface und Abstract Class verwendet werden?
- 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 kennen
- Eine Java-Klasse kann mehrere Java-Schnittstellen implementieren. Es ist notwendig, dass die Klasse alle in den Interfaces 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.
- 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 zeigen
- Eine Schnittstelle kann sich von einer oder mehreren Schnittstellen erstrecken. Klasse kann nur eine Klasse erweitern, aber beliebig viele Schnittstellen implementieren
- Eine Schnittstelle kann keine andere Schnittstelle implementieren. Es muss bei Bedarf eine weitere Schnittstelle erweitern.
- 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 zeigen
- Eine Schnittstelle kann sich von einer oder mehreren Schnittstellen erstrecken. Eine Klasse kann nur eine Klasse erweitern, aber beliebig viele Interfaces implementieren
Java
- Java-Schnittstelle
- C# Abstract Class Tutorial mit Beispiel:Was ist Abstraktion?
- Was ist Interface in C# mit Beispiel
- String Length() Methode in Java:So finden Sie mit Beispiel
- Java String charAt() Methode mit Beispiel
- Java-String-EndsWith()-Methode mit Beispiel
- Schnittstelle vs. abstrakte Klasse in Java:Was ist der Unterschied?
- Java BufferedReader:Lesen von Dateien in Java mit Beispiel
- Insertion Sort Algorithmus in Java mit Programmbeispiel
- Java - Schnittstellen