Warum müssen die Enum-Konstanten vor jeder anderen Deklaration von Variablen und Methoden in einem Enum-Typ deklariert werden?

8

Wenn ich eine Variable vor oder ohne Deklaration von Enum-Konstanten auf diese Weise deklariere:

%Vor%

Es zeigt folgenden Kompilierungsfehler.

%Vor%

Aber wenn ich eine Enum-Konstante deklariere, bevor i deklariert wird, dann ist es in Ordnung.
Selbst der folgende Code wird gut kompiliert:

%Vor%

Warum ist Java Enum so konzipiert?

    
Vishal K 27.06.2013, 08:26
quelle

2 Antworten

10

Das ; zeigt das Ende der Enum-ID-Liste an. Anscheinend können Sie eine leere Enum-Liste haben, aber Sie müssen eine haben.

Siehe 8.9.1 von die Java-Sprachspezifikation :

  

8.9.1 Enum-Konstanten   Der Rumpf eines Enum-Typs kann Enum-Konstanten enthalten

    
Jeff Foster 27.06.2013, 08:28
quelle
2

Zwei obligatorische Teile von enum sind:

  1. Enum-Identifikatoren;
  2. enum body.

Sie müssen zuerst die enum-IDs -Liste vor enum body deklarieren. % Co_de% zeigt hier den ersten Teil an, da der erste Teil obligatorisch ist. Wenn Sie dies ignorieren, wird ein Kompilierungsfehler erzeugt. Wenn Sie ; hinzufügen, wird es kompiliert, wenn Sie beide Kriterien erfüllen .

    
Shreyos Adikari 27.06.2013 08:31
quelle

Tags und Links