如下注意点:
1. 枚举类不能有public构造方法
2. 枚举值可以调用相应的构造方法
3. 枚举值可以调用抽象方法实例化
如下为自己通过一般的类来模拟enum的实现
public abstract class MyEnum {
private String name;
private MyEnum(){}
private MyEnum(String name){
this.name = name;
}
public static MyEnum MON = new MyEnum("星期一") {
@Override
public MyEnum nextDay() {
return TUES;
}
};
public static MyEnum TUES = new MyEnum("星期二"){
@Override
public MyEnum nextDay() {
return WED;
}
};
public static MyEnum WED = new MyEnum("星期三") {
@Override
public MyEnum nextDay() {
return null;
}
};
public abstract MyEnum nextDay();
}