-------- android培训,java培训java学习型技术博客、期待与您交流! -------
枚举
枚举(Enum)可以使用构造方法,构造方法必须是私有的(private)。
枚举(Enum)可以使用成员变量和成员方法
例1.这是在5.0之前使用模式做出枚举
finalclass Season
{public static final Season SPRING=newSeason();
public static final Season WINTER=newSeason();
public static final Season SUMMER=newSeason();
public static final Season AUTUMN=newSeason();
private Season(){...}
}
例2.使用5.0的新特性枚举类
importjava.lang.Enum.*;
enum Season2
{ SPRING,
SUMMER,
AUTUMN,
WINTER
}
经过编译运行,例1和例2完全是等价的。
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WeekDay1 weekDay = WeekDay1.MON;
System.out.println(weekDay.nextDay());
WeekDay weekDay2 = WeekDay.FRI;
System.out.println(weekDay2);
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
System.out.println(WeekDay.valueOf("SUN").toString());
System.out.println(WeekDay.values().length);
new Date(300){};
}
public enum WeekDay{
SUN(1),MON(),TUE,WED,THI,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
}
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(45){
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;}
}
}
-------- android培训,java培训java学习型技术博客、期待与您交流! -------