用关键字enum可以将一组具名的值的有限集合创建为一种新的类型,就是枚举类型。这些具名的值可以作为常规的程序组件使用,也是非常有用和方便的功能。
我们通常定义枚举时,大部分就像这样:
enum Color{ RED,GREEN,ORANGE }
实际上,枚举不止是这样使用,一个enum除了不能继承自一个enum之外,我们基本上可以将enum看作一个常规的类。也就是说我们可以向enum中添加方法。
一般来说,我们希望每个枚举实例能够返回对自身的描述。根据这样的一个需求,我们可以提供一个构造器,专门负责处理这个额外的信息,然后添加一个方法,返回这个描述信息。就像下面这样:
public enum RealEnum {
Normal("正常态", 1), Update("已更新", 2), Deleted("已删除", 3), Fired("已屏蔽", 4);
String s;
int i;
private RealEnum(String s,int i) {
this.i = i;
this.s = s;
}
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
};
}
其中需要注意,如果你打算定义自己的方法,那么必须在enum实例序列的最后添加一个分号。同时,java要求必须先定义enum的实例。构造器必须生命为private。