------- android培训、java培训、期待与您交流! ----------
枚举:
就是一个特殊的java类,可以定义属性、方法、构造函数、实现接口、继承类
如何定义一个枚举类?我们来定义一个交通灯的枚举类。
代码示例:
//这就是一个枚举。枚举里面元素列表必须位于所有的成分之前,如果元素列表下面还有其他代码,元素列表后要加 ; 号。
//枚举相当于是一个类,枚举里面的元素就是类实例化出来的对象。
public enum WeekDay{
//枚举的元素
SUN(3),MON,TUE,WED,Thu,FRI,SAT;
//构造函数,枚举的构造函数只能是private修饰的
private WeekDay() {System.out.println("first");}
//带参构造函数
private WeekDay(int day) {System.out.println("second");}
}
定义一个交通灯的枚举类:
代码示例:
//定义一个交通灯枚举
public enum TrafficLamp{
//红灯对象,它是TrafficLamp的子类的实例化对象,子类的构造函数初始化红灯的时间为30秒。用匿名内部类的方式来获取这个对象。
RED(30){
//子类重写nextLamp方法,返回GREEN灯
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return GREEN;
}
},
//绿灯对象,它是TrafficLamp的子类的实例化对象,子类的构造函数初始化红灯的时间为45秒。用匿名内部类的方式来获取这个对象。
GREEN(45){
//子类重写nextLamp方法,返回YELLOW灯
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return YELLOW;
}
},
//黄灯对象,它是TrafficLamp的子类的实例化对象,子类的构造函数初始化红灯的时间为15秒。用匿名内部类的方式来获取这个对象。
YELLOW(15){
//子类重写nextLamp方法,返回RED灯
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return RED;
}
};
//抽象方法,该方法返回的还是三个灯对象
public abstract TrafficLamp nextLamp();
//定义一个时间变量
private int time;
//构造函数,枚举中只能用private修饰。初始化交通灯的时间
private TrafficLamp(int time) {this.time = time;}
}
public enum WeekDay3 {
MON,TUE,WED,THU,FRI,SAT,SUN;
}
}