Heim  >  Artikel  >  Java  >  Was ist eine Schnittstelle in Java?

Was ist eine Schnittstelle in Java?

DDD
DDDOriginal
2023-12-22 16:20:401750Durchsuche

Schnittstelle in Java ist ein Referenztyp und eine Sammlung von Methoden. Schnittstellen bieten eine Möglichkeit, die Methoden anzugeben, die eine Klasse implementieren muss, geben jedoch nicht die spezifische Implementierung dieser Methoden an. Wenn eine Klasse eine Schnittstelle implementiert, muss die Klasse konkrete Implementierungen aller abstrakten Methoden in der Schnittstelle bereitstellen. Eine Schnittstelle kann von einer anderen Schnittstelle erben, was bedeutet, dass eine Schnittstelle Methoden von anderen Schnittstellen erben kann. Alle Methoden in einer Schnittstelle sind implizit abstrakt, alle Methoden in einer Schnittstelle sind öffentlich und eine Schnittstelle kann keine Instanzfelder enthalten. Eine Klasse kann mehrere Schnittstellen implementieren, die von der Klasse implementiert oder von anderen Schnittstellen geerbt werden können.

Was ist eine Schnittstelle in Java?

Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.

In Java ist eine Schnittstelle ein Referenztyp und eine Sammlung von Methoden. Konkret handelt es sich bei einer Schnittstelle um eine vollständig abstrakte Klasse, die nur die Deklaration abstrakter Methoden, aber keine Implementierung der Methoden enthält. Schnittstellen bieten eine Möglichkeit, die Methoden anzugeben, die eine Klasse implementieren muss, geben jedoch nicht die spezifische Implementierung dieser Methoden an.

Definition der Schnittstelle:

In Java können Sie das Schlüsselwort interface verwenden, um eine Schnittstelle zu definieren. Zum Beispiel:

public interface MyInterface {  
    void myMethod(); // 这是一个抽象方法,没有方法体  
}

Implementierung der Schnittstelle:

Wenn eine Klasse eine Schnittstelle implementiert, muss die Klasse konkrete Implementierungen aller abstrakten Methoden in der Schnittstelle bereitstellen. Verwenden Sie das Schlüsselwort „implements“, um anzugeben, dass eine Klasse eine oder mehrere Schnittstellen implementiert. Zum Beispiel:

public class MyClass implements MyInterface {  
    @Override  
    public void myMethod() {  
        // 具体实现  
    }  
}

Vererbung einer Schnittstelle:

Eine Schnittstelle kann eine andere Schnittstelle erben, was bedeutet, dass eine Schnittstelle Methoden anderer Schnittstellen erben kann. Verwenden Sie das Schlüsselwort „extends“, um die Vererbungsbeziehung zwischen Schnittstellen anzugeben. Zum Beispiel:

public interface AnotherInterface extends MyInterface {  
    void anotherMethod();  
}

Merkmale von Schnittstellen:

Alle Methoden in einer Schnittstelle sind implizit abstrakt, auch wenn sie nicht mit dem Schlüsselwort abstract deklariert werden.

Alle Methoden in einer Schnittstelle sind öffentlich, auch wenn sie nicht mit dem Schlüsselwort public deklariert werden.

Schnittstellen dürfen keine Instanzfelder (d. h. nicht statische Felder) enthalten. Sie können nur statische Konstantenfelder enthalten (implizit öffentlich, statisch und endgültig).

Ab Java 8 können Schnittstellen Standardmethoden und statische Methoden enthalten. Standardmethoden stellen eine Standardimplementierung einer Methode bereit, die von der Implementierungsklasse selektiv überschrieben werden kann. Statische Methoden können nur über Schnittstellen aufgerufen werden, nicht über Implementierungsklassen.

Die Beziehung zwischen Schnittstellen und Klassen:

Eine Klasse kann mehrere Schnittstellen implementieren, was eine Möglichkeit bietet, bestimmte Funktionen der Mehrfachvererbung ohne die Komplexität der Mehrfachvererbung zu implementieren.

Schnittstellen können von Klassen implementiert und auch von anderen Schnittstellen geerbt werden.

Zweck der Schnittstelle:

Schnittstelle wird normalerweise verwendet, um eine Reihe verwandter Methoden zu definieren, die von nicht verwandten Klassen implementiert werden können. Dadurch können Entwickler steckbaren Code erstellen, da Implementierungsklassen zur Laufzeit dynamisch ersetzt werden können.

Schnittstellen werden häufig in Java-APIs und -Frameworks wie Sammlungsframeworks, Ereignis-Listenern usw. verwendet.

Vergleich mit abstrakten Klassen:

Schnittstellen und abstrakte Klassen werden beide verwendet, um abstraktes Verhalten zu definieren, weisen jedoch einige wesentliche Unterschiede auf. Eine abstrakte Klasse kann konkrete Implementierungen abstrakter und nicht abstrakter Methoden enthalten, während eine Schnittstelle nur Deklarationen abstrakter Methoden enthalten kann (und ab Java 8 Standardmethoden und statische Methoden enthalten kann). Eine Klasse kann nur von einer abstrakten Klasse erben, aber mehrere Schnittstellen implementieren.

Das obige ist der detaillierte Inhalt vonWas ist eine Schnittstelle in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn