------- android培训、java培训、期待与您交流! ----------
1.枚举的作用
(1)枚举是用来让某个类型的变量取值只能为若干个固定值中的一个,可以让编译器在编译时就可以控制源程序中填写的非法值,而普通变量的方式就无法在开发阶段实现这一目标。
(2)简单的枚举演示
创建一个表示星期的枚举,一个星期只有七天
Public enum WeekDay{
SUN,MON,TUE,WED,THI,FRI,SAT
}
这七个元素就代表一个星期的七天,没有构造方法,所以不能创建对象,而这七个元素就是它的对象,也仅有这七个对象。
2.枚举的特点
(1)枚举相当于一个类,也可以定义构造方法、成员变量、普通方法和抽象方法;
(2)枚举元素必须位于枚举的最开始部分,枚举元素列表的后面要有分号和其他成员分隔。如果把枚举中的成员方法或变量等放在元素前面,编译器会报错;
(3)带构造方法的枚举,构造方法必须定义成私有的(private)。在没有其他带参数构造方法时,默认空参构造方法;
(4)当枚举只有一个成员(元素)时,可以作为一种单例的实现方式。
3.复杂枚举
创建一个交通灯的枚举,红黄绿三种灯
public enum TrafficLamp{
//子类对象要重写抽象方法
RED(30){
public TrafficLamp nextLamp() {
return GREEN;
}
},
GREEN(40){
public TrafficLamp nextLamp() {
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp() {
return RED;
}
};
public abstract TrafficLamp nextLamp(); //定义抽象方法
private int time;
private TrafficLamp(int time){ //定义带参数的构造方法
this.time = time;
}
}