java8后的新 枚举类定义,使用enum关键字

//方法二:enum关键字
//所定义的枚举类默认继承与java.lang.Enum类
enum Season1 implements Show{
    //1.提供当前枚举类的对象,多个对象用“ ,”隔开,末尾对象使用“;”结束
    //其实都被隐式的创建了枚举类的对象
    SPRING("春天","春暖花开") {
        @Override
        public void show() {
            System.out.println("我是春天枚举类");
        }
    },
    SUMMER("夏天","夏日炎炎") {
        @Override
        public void show() {
            System.out.println("我是夏天枚举类");
        }
    },
    AUTUM("秋天","秋高气爽") {
        @Override
        public void show() {
            System.out.println("我是秋天枚举类");
        }
    },
    WINTER("冬天","冰天雪地") {
        @Override
        public void show() {
            System.out.println("我是冬天枚举类");
        }
    };
    private final String seasonName;//季节名字
    private final String seasonDesc;//描述

    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }

    private Season1( String seasonName, String seasonDesc){
        this.seasonName=seasonName;
        this.seasonDesc=seasonDesc;
    }

    public static void main(String[] args) {

        System.out.println(Season1.AUTUM.seasonDesc);
        //values()返回枚举类型的对象数组,该方法可以很方便的遍历所有的枚举值
        //使用的是默认的Enum中的toString方法
       Season1[] s= Season1.values();
       for(int i=0;i<s.length;i++){
           s[i].show();
       }
       //valueOf(String s)可以把一个字符串转为对应的枚举类对象,要求字符串必须是枚举类对象的名字
        Season1.valueOf("AUTUM");
       //toString 返回当前枚举类对象常量的栈变量名称


    }


}
interface Show{
    void show();
}
经验分享 程序员 微信小程序 职场和发展