枚举就是要让某个类型的变量的取值只能为若千个固定值中的一个,否则编译器就会报错,枚举可以让编译器在编译时就可以控制源程序赋给的非法值,使用普通变量的方式在开发阶段无法实现这一目标。
在JDK 1.5之后,使用关键字enum定义一种新的类型,称为枚举类型。
在JDK 1.5之后,对于Set和Map接口而言又增加了两个新的子类: EnumSet、 EnumMap两 个类。
带构造方法的枚举
public enum Color {
RED(10),BLUE(10);
private Color() {}
private int color;
private Color(int color){
this.color = color;
}
让枚举实现接口:
interface Info {
public String getColor();
}
public enum Color im plements Info {
RED {
public String getColor() {return "红色";}
},
GREEN {
public String getColor() {return "绿色";}
},
BLUE {
public String getColor() {return "蓝色";}
}
在枚举中实现抽象方法:
public enum Color{
RED {
public String getColor() {return "红色";}
GREEN {
public String getColor() {return "绿色";}
BLUE {public String getColor() {return "蓝色";}
};
public abstract String getColor();
}