public abstract class WeekDay1 {
private WeekDay1(){}
public final static WeekDay1 SUN = new WeekDay1() {
//抽象类的方法不能实现,所以只能用内部子类实现
@Override
public WeekDay1 nextDay() {
// TODO Auto-generated method stub
return MON;
}
};
public final static WeekDay1 MON = new WeekDay1() {
@Override
public WeekDay1 nextDay() {
// TODO Auto-generated method stub
return SUN;
}
};
public abstract WeekDay1 nextDay();
/***
*
* @author Administrator
枚举 周一 到 周日 及带参数的构造方法
*/
public enum WeekDay{
SUN(1),MON(),TUE(1,2,3,4),WED,THI,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
private WeekDay(int day,int ... args){
System.out.println("thired");
}
}
public static void main(String[] args) {
System.out.println(WeekDay.SUN);
}
/***
* 枚举红绿黄灯
*/
public enum TrafficLamp{
RED(30) {
@Override
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return GREEN;
}
} ,
GREEN(40) {
@Override
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return YELLOW;
}
},
YELLOW(5) {
@Override
public TrafficLamp nextLamp() {
// TODO Auto-generated method stub
return RED;
}
};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(){}
private TrafficLamp(int time){
this.time = time;
}
}
}