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());

    }

}

 

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