package com.ydlclass.enumTest;

public enum SeasonEnum {
    SPRING("春天","万物复苏,百花齐放"),

    SUMMER("夏天","电闪雷鸣"),

    AUTUMU("秋天","树叶凋零"),

    WINTER("冬天","白雪皑皑");

    //为枚举添加新的方法:由于每个枚举的对象实质就是使用一个类定义了一堆的静态常量,并且这些静态常量就是这个对象,所以可以理解为使用饿汉式来定义的。
    //比如说,我们想对这些季节增加一些额外的描述,例如名字,这个季节的特点是怎样的;
    public String name;
    public String detail;

    SeasonEnum() {
    }

    SeasonEnum(String name, String detail) {
        this.name = name;
        this.detail = detail;
    }

    public String getName(){
        return this.name;
    }

    public void setName(String name){
        this.name = name;
    }
    public String getDetail(){
        return this.detail;
    }
    public void setDetail(String detail){
        this.detail = detail;
    }



    //有了成员变量之后我们可以加上有参构造,这样我们的枚举就可以使用有参构造了;(也就是需要理解枚举的本质是什么)

    public static void main(String[] args) {
        SeasonEnum[] values = SeasonEnum.values();
        for (int i = 0; i < values.length; i++) {
            System.out.println(values[i].getDetail());
        }

        String name = SeasonEnum.SUMMER.getName();
        String detail = SeasonEnum.SUMMER.getDetail();
        System.out.println(name + ":" + detail);//我们独自为每个枚举的实例增加了两个字段以及相应的成员方法,这就是为枚举增加方法
    }


}