黑马程序员技术交流社区

标题: 抽象枚举疑问 [打印本页]

作者: 实战造就实力    时间: 2014-1-6 00:50
标题: 抽象枚举疑问
本帖最后由 实战造就实力 于 2014-1-6 19:06 编辑

这段代码怎么在主函数中调用
我这样调用:
TrafficLamp en= TrafficLamp.GREEN;                System.out.println(en);这没有实现它的功能啊!请帮忙解答一下啊
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();//nextLamp()这个方法的返回值还是这个类。
        private int time;
        private TrafficLamp(int time){this.time=time;}
        }
}


作者: 几番意难相付    时间: 2014-1-6 14:51
不明白你的问题 所谓的“没有实现它的功能”是指什么
如果是只没有实现nextLamp()的方法
你需要在枚举后调用该方法
比如
TrafficLamp en= TrafficLamp.GREEN;
System.out.println(en.nextLamp());
作者: 午夜b'Boy    时间: 2014-1-6 16:04
枚举类是一个特别的类形式;只要你定义了一个枚举类,他就会继承了枚举特有方法,就像所有类默认都继承了object一样啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2