enum 定义的是一个对象,而 public static final int HOUR = 1
是类的一个属性。
容易添加属性和方法.
创建枚举类
// 定义枚举成员
UP(0,"在架"),
DOWN(1, "下架");
}
public enum ProductStatusEnum{
private Integer code;
private String messge;
// 构造方法, insert + alt
ProductStatusEnum(Integer code, String message){
this.code = code;
this.message = message;
// get / set 方法
public String getMessage(){
return message
}
public String setMessage()
}
枚举类的特性
- 在某些情况下,一个类的对象是有限且固定的,如季节类, 它只有春夏秋冬4个对象且有限固定的类,在 Java 中被称为枚举类
- 在Java 中使用 enum 来定义枚举类, 其地位与 class / interface 相同;
- 枚举类是一种特殊的类, 它和普通的类一样, 有自己的成员变量/成员方法/构造器(只能使用 private 访问修饰符,所以无法从外部调用构造器,构造器只在构造枚举值时被调用)
- 一个 Java 源文件中最多只能有一个 public 类型的枚举类, 且该 Java 源文件的名字名字页必须和该枚举类的类名相同, 这点和类是相同的;
- 使用 enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了java.lang.Seriablizable 和 java.lang.Comparable 两个接口;
- 所有的枚举值都是 public static final 类型的, 且非抽象的枚举类不能再派生子类
- 枚举类的所有实例必须在枚举类的第一行显式地列出来,否则这个枚举类将永远不能产生实例. 列举这些实例时,系统会自动添加 public static final 修饰,无需程序员显式添加.