Im Gegensatz zu C++ erlaubt Java keine Mehrfachvererbung, dafür bietet Java das Konzept der Schnittstellen. Eine Schnittstelle ist eine Sammlung von Methodendefinitionen (ohne Implementierung) und konstanten Werten. Schnittstellen definieren also Verhaltensprotokolle, die von einer Klasse implementiert werden können. Eine Schnittstellendeklaration hat die Form
[public] interface Schnittstellenname
[extends listeDerOberschnittstellen] {...}
Folgendes Beispiel verdeutlicht die Verwendung von Schnittstellen:
interface List {
int MAXIMUM = 500;
void append(Object obj);
void delete(Object obj);
}
Die Schnittstelle List kann nun durch andere Klassen implementiert
werden. Z. B. kann durch
class IntList implements List {...}
eine Liste implementiert werden.