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