黑马程序员技术交流社区
标题:
由抽象枚举引起的思考。
[打印本页]
作者:
jsfjb
时间:
2012-10-30 15:13
标题:
由抽象枚举引起的思考。
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TrafficLamp red = TrafficLamp.RED;
TrafficLamp green = red.nextLamp();
}
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
System.out.println(super.time); //此处风景独好,可以参观一下。
System.out.println("red");
return GREEN;
}
},GREEN(30){
public TrafficLamp nextLamp(){
System.out.println("green");
return YELLOW;
}
},YELLOW(5){
public TrafficLamp nextLamp(){
System.out.println("yellow");
return RED;
}
};
private int time;
private TrafficLamp(int time){
this.time = time;
}
public abstract TrafficLamp nextLamp();
}
}
上面是看完张老师的抽象枚举的练习,代码确实很精妙,的确是好代码。
但是看到这样的代码后,我在思考,这样的代码,在实战中哪儿用?
深思中……
作者:
xuchulong1
时间:
2012-10-30 16:56
当你需要用到那些数据是在几个数据中的,那就可以使用。
譬如:张老师也举例了,周一到周日,是可以用枚举的,因为你一周只会是这七天,不会出现周八。
其次,如果你想看看真正的用法,你往后会看到张老师的视频,交通灯和银行调度,都有用枚举。
总结一下,用枚举的地方,一般是所有情况都可以全部列举出来的,并且不是很多,那就可以用一个枚举类来管理这些数据。
作者:
李建强
时间:
2012-10-30 17:10
以我来看,你看看交通灯就知道了
作者:
jsfjb
时间:
2012-10-30 17:34
李建强 发表于 2012-10-30 17:10
以我来看,你看看交通灯就知道了
但是我还是感觉交通指示灯是一个demo。实战中。我有点想知道。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2