A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jsfjb 中级黑马   /  2012-10-30 15:13  /  1192 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



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();
    }
   

}

上面是看完张老师的抽象枚举的练习,代码确实很精妙,的确是好代码。
但是看到这样的代码后,我在思考,这样的代码,在实战中哪儿用?
深思中……


评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

3 个回复

倒序浏览
当你需要用到那些数据是在几个数据中的,那就可以使用。
譬如:张老师也举例了,周一到周日,是可以用枚举的,因为你一周只会是这七天,不会出现周八。
其次,如果你想看看真正的用法,你往后会看到张老师的视频,交通灯和银行调度,都有用枚举。

总结一下,用枚举的地方,一般是所有情况都可以全部列举出来的,并且不是很多,那就可以用一个枚举类来管理这些数据。
回复 使用道具 举报
以我来看,你看看交通灯就知道了
回复 使用道具 举报
李建强 发表于 2012-10-30 17:10
以我来看,你看看交通灯就知道了

但是我还是感觉交通指示灯是一个demo。实战中。我有点想知道。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马