Es ist einfach jede Klasse, die keine verschachtelte Klasse ist. Wenn Ihre Datei Foo.java ist und Ihre Klasse Foo ist, dann handelt es sich um eine Klasse der obersten Ebene.
%Vor%Ich hatte immer gedacht, dass dies ein informeller Begriff ist, aber es stellt sich heraus, dass es tatsächlich definiert in der JLS :
Eine Top-Level-Klasse ist eine Klasse, die keine geschachtelte Klasse ist.
Eine verschachtelte Klasse ist eine Klasse, deren Deklaration im Rumpf einer anderen Klasse oder Schnittstelle vorkommt.
Die angegebene Definition ist korrekt, vielleicht könnte eine andere Definition sein: Eine Klasse auf oberster Ebene ist die definierte Klasse mit dem gleichen Namen der Datei '.java', in der sie sich befindet. Allerdings, genau wie eine Beobachtung für den Fall gezeigt hat , eine geschachtelte (nicht eine Top-Level-) 'statische' Klasse hat das gleiche Verhalten einer Klasse der obersten Ebene, in Bezug auf die Interaktion mit den Instanz-Mitgliedern der Klasse, in die sie geschachtelt wurde.
Tags und Links java