engl.: nested class
Eine Klasse heißt in Java geschachtelt (engl. nested), wenn sie innerhalb der Deklaration einer anderen Klasse deklariert ist:
Ist eine Klasse nicht geschachtelt, nennen wir sie global (engl. top-level).
Java unterscheidet statische und innere Klassen.
Geschachtelte Klassen heißen statisch, wenn sie mit dem Modifikator static deklariert sind.
Statische Klasse haben die gleiche Bedeutung wie globale Klassen. Allerdings ergeben sich andere Sichtbarkeits- und Zugriffsbereiche.
Geschachtelte Klasse, die nicht statisch sind, heißen innere Klassen.
Sei K eine Klasse und INN eine direkte innere Klasse von K. Dann bekommt jedes INN-Objekt eine Referenz auf das K-Objekt, in deren Kontext es erzeugt wurde.