enum MyEnum1 {
a, b, C, D, // OK
}
enum MyEnum2 {
1,2,3, // ERROR : Syntax error on tokens, delete these tokens
}
enumの宣言もクラスと同様に、メンバを持つことができます。
enum MyEnum {
A, B;
static int C() { return 1; }
static void D(int x) { System.out.print(x); }
}
System.out.println(MyEnum.C()); // 1 MyEnum.D(123); // 123
enum MyEnum {
A, B; // enum定数
static final double C = 1.0; // 通常の定数
}
この定数を出力すると、
System.out.print(MyEnum.A); // A System.out.print(MyEnum.B); // B System.out.print(MyEnum.C); // 1.0
となります。
通常の定数は列挙型のメンバであるため、宣言の前にはセミコロンが必要です。
enum MyEnum1 {
; // OK
static final double C = 1.0;
}
enum MyEnum2 {
// ERROR : Syntax error on token "{", ; expected after this token
static final double C = 1.0;
}
enum型は、暗黙的にjava.lang.Enum<E>を継承しています。