Was ist eine Top-Level-Klasse in Java?

10
  • Was ist eine Top-Level-Klasse in Java?
  • Was ist die Definition einer obersten Klasse in Java?
Ich weiß, dass dies eine grundlegende Frage ist, aber ich konnte keine klare und einfache Antwort auf diese Frage finden.

    
Harshakj89 18.01.2017, 08:32
quelle

2 Antworten

10

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.

    
yshavit 18.01.2017, 08:36
quelle
1

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.

    
Erivan 26.03.2017 14:07
quelle

Tags und Links