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:
Warum ist Java Enum so konzipiert?
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
Zwei obligatorische Teile von enum sind:
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 .