java(枚举)

1.自定义枚举类

public class Season {
    /**
     * 私有化属性并final修饰
     */
    private final String seasonName;
    private final String seasonDesc;

    /**
     * 私有化构造器
     * @param seasonName
     * @param seasonDesc
     */
    private Season(String seasonName, String seasonDesc) {
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }

    /**
     * 公共静态方法并final修饰
     */
    public static final Season SPRING = new Season("春天","春暖花开");
    public static final Season SUMMER = new Season("夏天","夏日炎炎");
    public static final Season AUTUMN = new Season("秋天","秋高气爽");
    public static final Season WINTER = new Season("冬天","白雪皑皑");

    /**
     * 只有get方法,不能set(编译不通过)
     * @return
     */
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }


    @Override
    public String toString() {
        return "Season{" +
                "seasonName='" + seasonName + '\'' +
                ", seasonDesc='" + seasonDesc + '\'' +
                '}';
    }
}
public class SeasonTest {
    @Test
    public void test1() {
        Season spring = Season.SPRING;
        System.out.println(spring);

    }
}

 

2.使用enum关键字定义枚举类

/**
 * 使用enum关键字定义枚举类
 * 说明:定义的枚举类默认继承于java.lang.Enum类
 */
public enum Season1 {
    /**
     * 提供当前枚举类对象,多个对象以”,“隔开,末尾对象以”;"结束
     */
    SPRING("春天","春暖花开"),
    SUMMER("夏天","夏日炎炎"),
    AUTUMN("秋天","秋高气爽"),
    WINTER("冬天","白雪皑皑");
    /**
     * 私有化属性并final修饰
     */
    private final String seasonName;
    private final String seasonDesc;

    /**
     * 私有化构造器
     * @param seasonName
     * @param seasonDesc
     */
    private Season1(String seasonName, String seasonDesc) {
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }


    /**
     * 只有get方法,不能set(编译不通过)
     * @return
     */
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }

}

 

public class Season1Test {
    @Test
    public void test1() {
        Season1 spring = Season1.SPRING;
        System.out.println(spring);
        System.out.println(Season1.class.getSuperclass());

    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章