Wenn ich erklären, eine Variable vor oder ohne auf diese Weise Enum Konstanten erklärt:Warum müssen die Enum-Konstanten vor jeder anderen Deklaration von Variablen und Methoden in einem Enum-Typ deklariert werden?
enum MyEnum
{
int i = 90;
}
Es zeigt Kompilierungsfehler folgende.
MyEnum.java:3: <identifier> expected
{
^
MyEnum.java:4: ',', '}', or ';' expected
int i = 90;
^
MyEnum.java:4: '}' expected
int i = 90;
^
MyEnum.java:5: class, interface, or enum expected
}
^
4 errors
Aber wenn ich eine Enumeration Konstante deklarieren, bevor erklärt i
dann kompiliert es in Ordnung.
Auch der folgende Code kompiliert fein:
enum MyEnum
{
;//put a semicolon
int i = 90;
}
Warum Java-Enumeration auf diese Weise ausgelegt ist?
In erster Linie soll 'enum' eine * Aufzählung * von mehr als null Elementen sein. Dieser Entwurf ist absolut gültig. –
Da mindestens eine Enum-Konstante zwingend erforderlich ist. Denn so ist die Syntax in der Java Language Specification definiert. Weil. – EJP
@EJP Aber in späteren Fall habe ich keine Enum-Konstante deklariert, sondern habe einfach ein Semikolon angehängt, bevor ich eine Variable deklariere. Ist es nicht gegen das Mandat, dass ein Enum mindestens eine Enum-Konstante haben sollte? –