Eine Top-Level-Schnittstelle kann nicht als private
deklariert werden. Das würde bedeuten, dass sie niemand verwenden könnte, was keinen Sinn ergibt.
Neben den Top-Level Schnittstellen (wie sie in diesen Aufzeichnungen besprochen werden), gibt es noch geschachtelte oder innere Schnittstellen (nested interfaces). Das sind Schnittstellen, deren Definition sich innerhalb einer Schnittstelle (oder auch Klasse) befindet. Diese inneren Schnittstellen können auch als private
deklariert werden. Dieses Thema wird in diesen Aufzeichnungen nicht behandelt.
Eine Schnittstelle kann eine Erweiterung einer anderen Schnittstelle sein (aber keine Erweiterung einer Klasse):
public Schnittstelle Verbrauchssteuer extends Besteuerbar
{
double VERBRAUCHSSTEUER = 0.02 ;
double berechneVerbrauchsteuer() ;
}
Durch die Verwendung dieses Merkmals kann eine komplexe Hierarchie von Schnittstellen konstruiert werden. Das ist ein fortgeschrittenes Thema, das Ihr wahrscheinlich nicht brauchen werdet.
Kann eine Klasse eine Schnittstelle erweitern?