枚举的使用

package enhance;

/**
 * Created by coolkid on 2014/12/20 0020.
 */
public class EnumTest {
    public static void main(String[] args) {
        WeekDay weekDay = WeekDay.FRI;
        System.out.println(weekDay);
        System.out.println(weekDay.name());
        System.out.println(weekDay.ordinal());//序号
        System.out.println(weekDay.equals(WeekDay.FRI));
        System.out.println(WeekDay.valueOf("SUN"));//字符串转枚举变量
        //迭代枚举类型中的所有元素
        WeekDay[] weekDays = WeekDay.values();
        System.out.println("开始迭代");
        for (WeekDay weekDay1:weekDays){
            System.out.println(weekDay1.ordinal()+":"+weekDay1);
        }
        System.out.println("-------------------------");
        TrafficLamp trafficLamp = TrafficLamp.GREEN;
        System.out.println(trafficLamp);
        System.out.println(trafficLamp.nextLamp());
    }

    public enum WeekDay{
        SUN(1),MON,TUE,WED,THI,FRI,SAT;

        //构造方法
        private WeekDay(){}
        private WeekDay(int day){}
    }

    public enum TrafficLamp{
        RED(30) {
            @Override
            public TrafficLamp nextLamp() {
                return GREEN;
            }
        },
        GREEN(45) {
            @Override
            public TrafficLamp nextLamp() {
                return YELLOW;
            }
        },
        YELLOW(5) {
            @Override
            public TrafficLamp nextLamp() {
                return RED;
            }
        };
        //抽象方法
        public abstract TrafficLamp nextLamp();
        private int time;
        private TrafficLamp(int time){
            this.time = time;
        }

    }
}

 

posted @ 2015-06-13 18:38  csnmd  阅读(126)  评论(0编辑  收藏  举报