Eine Java-Schnittstelle ist eine Reihe von Methodendeklarationen und eine Sammlung von Methodenmerkmalen. Eine Schnittstelle verfügt nur über Methodenmerkmale, aber über keine Methodenimplementierung, sodass diese Methoden von verschiedenen Klassen an verschiedenen Orten implementiert werden können haben unterschiedliche Verhaltensweisen (Funktionen).
Zwei Bedeutungen:
Eine ist die Java-Schnittstelle, die in der Java-Sprache vorhanden ist spezifische Syntax und Struktur; (Empfohlenes Lernen: Java-Kurs )
Zweitens ist der Funktionsumfang einer Klasse eine logische Abstraktion. Ersteres wird als „Java-Schnittstelle“ und Letzteres als „Schnittstelle“ bezeichnet.
Funktion
In der Java-Sprachspezifikation umfassen die Merkmale einer Methode nur den Namen der Methode, die Anzahl und den Typ der Parameter und nicht die Rückgabetyp und Parameter des Methodennamens und der ausgelösten Ausnahme.
Wenn der Java-Compiler die Überladung von Methoden überprüft, bestimmt er anhand dieser Bedingungen, ob es sich bei den beiden Methoden um überladene Methoden handelt. Wenn der Java-Compiler jedoch die Ersetzung der Methode prüft, prüft er außerdem, ob der Rückgabetyp und die von den beiden Methoden (Supertyp und Subtyp) ausgelöste Ausnahme identisch sind.
Die Regeln für die Schnittstellenimplementierung und die Klassenvererbung sind unterschiedlich. Aus Gründen der Datensicherheit hat eine Klasse während der Vererbung nur eine direkte übergeordnete Klasse, dh eine einzelne Vererbung. Eine Klasse kann jedoch mehrere Schnittstellen implementieren und Schnittstellen erstellen Nachteile der Mehrfachvererbung: Das duale Design von Vererbung und Schnittstelle gewährleistet nicht nur die Datensicherheit der Klasse, sondern implementiert auch verschleierte Mehrfachvererbung.
Die Java-Schnittstelle selbst hat keine Implementierung, da die Java-Schnittstelle keine Darstellung beinhaltet, sondern nur das öffentliche Verhalten beschreibt, sodass die Java-Schnittstelle abstrakter ist als die abstrakte Java-Klasse. Schnittstellen sind jedoch keine Klassen, und Sie können den Operator new nicht zum Instanziieren einer Schnittstelle verwenden.
Zum Beispiel x=new vergleichbar(...);//Dies ist ein Fehler. Aber die Schnittstellenvariable Comparable x kann deklariert werden; //Dies ist zulässig.
Methoden von Java-Schnittstellen können nur abstrakt sein und öffentliche Java-Schnittstellen können keine Konstruktoren haben. Java-Schnittstellen können öffentliche, statische und endgültige Attribute haben. Das heißt, die Eigenschaften in der Schnittstelle können als öffentlicher statischer Endwert = 5 definiert werden.
Die Schnittstelle trennt die Eigenschaften der Methode und die Implementierung der Methode. Diese Trennung spiegelt sich in der Tatsache wider, dass eine Schnittstelle häufig eine Rolle darstellt, die die mit dieser Rolle verbundenen Vorgänge und Eigenschaften verpackt, und die Klasse, die diese Schnittstelle implementiert, der Akteur ist, der diese Rolle spielt.
Eine Rolle wird von verschiedenen Schauspielern gespielt, und abgesehen von der gemeinsamen Rolle benötigen verschiedene Schauspieler keine weiteren Gemeinsamkeiten.
Das obige ist der detaillierte Inhalt vonWas ist eine Java-Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!