Eine Schnittstellendeklaration besteht aus Modifikatoren, dem Schlüsselwort interface
, dem Schnittstellennamen, einer kommagetrennten Liste übergeordneter Schnittstellen (falls vorhanden) und dem Schnittstellenkörper. Beispiel:
Der Zugriffsspezifizierer public
gibt an, dass die Schnittstelle von jeder Klasse in jedem Paket verwendet werden kann., Wenn Sie nicht angeben, dass die Schnittstelle öffentlich ist, ist Ihre Schnittstelle nur für Klassen zugänglich, die im selben Paket wie die Schnittstelle definiert sind.
Eine Schnittstelle kann andere Schnittstellen erweitern, genauso wie eine Klassenunterklasse oder eine andere Klasse erweitern. Während eine Klasse jedoch nur eine andere Klasse erweitern kann, kann eine Schnittstelle eine beliebige Anzahl von Schnittstellen erweitern. Die Schnittstellendeklaration enthält eine durch Kommas getrennte Liste aller Schnittstellen, die sie erweitert.
Der Schnittstellenkörper
Der Schnittstellenkörper kann Containabstract-Methoden,Standardmethoden und Standardmethoden enthalten., Auf eine abstrakte Methode innerhalb einer Schnittstelle folgt ein Semikolon, jedoch keine geschweiften Klammern (eine abstrakte Methode enthält keine Implementierung). Standardmethoden werden mit dem Modifikator default
und statische Methoden mit dem Schlüsselwort static
definiert. Alle abstrakten, standardmäßigen und statischen Methoden in einer Schnittstelle sind implizit public
, sodass Sie den Modifikator public
weglassen können.
Zusätzlich kann eine Schnittstelle konstante Deklarationen enthalten., Alle in einer Schnittstelle definierten konstanten Werte sind implizit public
, static
und final
. Sie können diese Modifikatoren erneut weglassen.