如果我在以这种方式声明枚举常量之前或不声明变量:
enum MyEnum
{
int i = 90;
}
它显示以下编译错误。
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
但是如果我在声明之前声明了一个枚举常量,i
那么它编译得很好。
甚至以下代码也可以正常编译:
enum MyEnum
{
;//put a semicolon
int i = 90;
}
为什么java枚举是这样设计的?