Ein Interface kann public- oder Paket-Sichtbarkeit haben (default). Bedeutung genau wie bei Klassen.
public interface Verbose { ... }
Ein Interface ist abstrakt. Dies kann man durch abstract kennzeichnen, ist aber überflüssig.
Ein Interface kann ein oder mehrere Ober-Interfaces (Superinterfaces) haben:
interface X extends Y, Z { ... }
Die Superinterface-Beziehung darf natürlich weder direkt noch indirekt zyklisch sein.
Es gibt für Interfaces keine Analogie zur Wurzelklasse Object.
Interface-Elemente sind
Diese sind implizit public.
Weder public noch static und final für die Konstanten brauchen spezifiziert zu werden.