黑马程序员技术交流社区

标题: 枚举 [打印本页]

作者: 姚志华    时间: 2011-11-7 11:08
标题: 枚举
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;}
}

怎么让这段程序运行起来,直接调用吗,为什么我只初始从红灯开始,运行不起来呢,只调用了一次下一个灯的方法,        请帮忙写出代码,谢谢

作者: 成杰    时间: 2011-11-7 11:28
你可以在写一个测试程序,在这个测试程序中直接调用枚举类中的方法!枚举类只是一个类,肯定要创建实例对象的,代码如下:
TrafficLamp redLamp = TrafficLamp.RED;
TrafficLamp greenLamp = TrafficLamp.GREEN;
System.out.println(redLamp.nextLamp());
System.out.println(greenLamp.nextLamp());
作者: 姚志华    时间: 2011-11-7 11:47
成杰 发表于 2011-11-7 11:28
你可以在写一个测试程序,在这个测试程序中直接调用枚举类中的方法!枚举类只是一个类,肯定要创建实例对象 ...

控制台只是输出了:
GREEN
YELLOW
不对吧,不是有时间吗,如果定义了下一个灯.也定义了时间,应该随便调哪个都可以开始呀,而且应该是可以循环才对呀,只输出两个不对吧
作者: 成杰    时间: 2011-11-7 11:51
姚志华 发表于 2011-11-7 11:47
控制台只是输出了:
GREEN
YELLOW

这就是因为我只输出了两个而已,你可以在测试程序试试循环调用一下!




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