Interfaces in Java

Wofür man Interfaces/Schnittstellen in Java braucht

Ein Interface (Schnittstelle) in Java definiert alle nötigen public-Methoden, ohne eine Implementierung vorzuschreiben. Nutzt eine Klasse nun das Interface, dann muss sie die entsprechenden Methoden auch implementieren. Darüber hinaus müssen diese dann auch public sein.

Ein Interface macht also keine Annahme über die Implementierung der Methode, sondern legt lediglich deren Namen und deren Parameter-Typen fest. Das Interface stellt damit eine Sammlung von Methodensignaturen ohne Implementierungen dar.

Eine sehr hilfreiche Eigenschaft von Interfaces ist, dass ein Interface von einem anderen Interface erben kann. Eine Klasse selbst kann mehrere Interfaces gleichzeitig implementieren. Darüber hinaus ist zu beachten, dass Interfaces nicht instanziert werden können, es geht also keine Erzeugung mit new!

Syntax von Interfaces

Nachfolgend noch die Java-Syntax von Interfaces bzgl. der Interface-Deklaration und der letztendlichen Implementierung in einer Klasse. Erst einmal die Interface-Deklaration:

interface InterfaceName {
	public boolean beispielmethode();
}

Implementiert wird ein Interface in eine Klasse dann so, dass nach dem Klassennamen das Schlüsselwort "implements" gefolgt von dem Interface-Name aufgeführt wird. Anschließend müssen in der Klasse dann die Methoden des Interface mit der Sichtbarkeit public aufgenommen werden:


class Testklasse implements InterfaceName {
	...
	public boolean beispielmethode(){
		return true;
	}
	
	...
}