public enum WeekDay
{
SUN(1),MON,TUE,WED,THI,FRI,SAT;
private WeekDay()
{
System.out.println("first");
}
private WeekDay(int day){System.out.println("sencond");}
}
枚举总结
1.枚举可以带有(必须是私有的)构造方法、抽象方法
2但注意的是枚举里不管有什么方法枚举的元素都必须在枚举里的第一位然后最后一个枚举元素后面加分号
3.只要用到枚举类,枚举类里的元素都会初始化,调用无参的构造方法
4.那如果要调用有参的呢?在元素后面加括号!里面传入相应的类型参数
5.枚举里只有一个元素时,就可以作为一种单例的实现方式。
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;
}
}
}