枚举类
第一种写法(推荐)
public enum SeasonEnum {
/**
* 枚举对象必须放在枚举类的行首
*/
SPRING("春天"),
SUMMER("夏天"),
AUTUMN("秋天"),
WINTER("冬天");
private String name;
/**
* 将构造器私有化,为了防止直接 new
*/
private SeasonEnum(String name) {
this.name = name;
}
/**
* 去掉 setXxx 方法, 防止属性被修改,只保留getXxx方法,用于读取
*/
public String getName() {
return name;
}
/**
* 重写toString()方法,用于输出
*/
@Override
public String toString() {
return "SeasonEnum{" +
"name='" + name + '\'' +
'}';
}
}
此处注意两个地方:

第二种写法
public class SeasonEnum {
public static final SeasonEnum SPRING = new SeasonEnum("春天");
public static final SeasonEnum SUMMER = new SeasonEnum("夏天");
public static final SeasonEnum AUTUMN = new SeasonEnum("秋天");
public static final SeasonEnum WINTER = new SeasonEnum("冬天");
private String name;
/**
* 将构造器私有化,为了防止直接 new
*/
private SeasonEnum(String name) {
this.name = name;
}
/**
* 去掉 setXxx 方法, 防止属性被修改,只保留getXxx方法,用于读取
*/
public String getName() {
return name;
}
/**
* 重写toString()方法,用于输出
*/
@Override
public String toString() {
return "SeasonEnum{" +
"name='" + name + '\'' +
'}';
}
}
此处注意两个地方:

总结
在关键字class作用下的 public static final Season SPRING = new Season("春天");
等价于
在关键字enum作用下的 SPRING("春天")
注:
1、如果使用无参构造器创建枚举对象,则实参列表和小括号都可以省略。
2、当有多个枚举对象时,使用 “,” 间隔,最后有一个分号结尾。
3、枚举对象必须放在枚举类的行首。

浙公网安备 33010602011771号