自定义枚举类
- 不需要提供setXxx方法,因为枚举对象通常为只读
- 对枚举对象/属性使用final+static共同修饰,实现底层优化
- 枚举对象名通常全部大写
- 枚举对象根据需要,也可以有多个属性
class Season{
private String name;
private String description;
public String getName(){ return name; }
public String getDesciption(){ return description; }
private Season(String name,String description){
this.name = neme;
this.description = description;
}
public final static Season SPRING = new Season(“春天”,”温暖”);
public final static Season SUMMER = new Season(“夏天”,”炎热”);
public final static Season AUTUMN = new Season(“秋天”,”凉爽”);
public final static Season WINTER = new Season(“冬天”,”寒冷”);
}
自定义枚举类特点:
- 构造器私有化
- 本类内部创建对象
- 向外暴露对象(public final static)
- 可以提供get方法,不要提供set方法
enum枚举类
- 使用enum创建枚举类时 会默认继承Enum类,并且创建的类是一个final类
- 传统的public final static Season SPRING = new Season(“春天”,”温暖”);简化成SPRINNG(“春天”,”温暖’),注意构造器
- 如果使用无参构造器创建枚举对象,则实参列表和小括号可以省略
- 有多个枚举对象时,使用”,”间隔,并以分号结尾
- 枚举对象必须放在枚举类行首
enum Season{
SPRING(“春天”,”温暖”),
SUMMER(“夏天”,”炎热”),
AUTUMN(“秋天”,”凉爽”),
WINTER(“冬天”,”寒冷”);
String name;<br /> String description;<br /> private Season(String name, String description) {<br /> this.name = name;<br /> this.description = description;<br /> }<br /> public String getName() {<br /> return name;<br /> }<br /> public String getDescription() {<br /> return description;<br /> }<br />}