枚举类(enum): 枚举类一般作为内部类使用,枚举类的成员(可以看做)是枚举类的一个对象;这些对象都默认的被public static final修饰
枚举成员调用方式:类名.成员名(和静态成员一样的!)
当枚举类被使用到的时候,会加载枚举类的所有成员,每个成员都会调用默认的构造函数
(当成员后面有小括号加入参数时,调用对应的构造函数);
枚举类可以内部自定义抽象函数实现相关功能,比如返回下一个成员等;这样就可以在每个成员后面定义每个成员的抽象函数的功能
这些成员实际上就是枚举类的子类对象!
枚举类的成员必须放置在枚举类内部的第一行,成员间通过,分隔!成员和其他函数用过;分隔!
最简单的枚举类;
public num WeekDay{ SUN,MON}//SUN就是WeekDay的一个实例对象
复杂的枚举类:
public enum TrafficLamp{
/*New子类的实例对象 匿名内部类!,并调用父类的有参构造函数*/
RED(30){//RED就相当于是枚举类TrafficLamp的一个子类
public TrafficLamp nextLamp() {
return GREEN;
}
},
GREEN(45){
public TrafficLamp nextLamp() {
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp() {
return RED;
}
};
private int time;
private TrafficLamp(int time){
this.time=time;
}
public abstract TrafficLamp nextLamp();//枚举类的抽象方法
}
|