1.概述
- 枚举类型本质上也是一种类,只不过这个类的对象是有限的、固定的几个,不能让用户随意创建.
- 例如 : 星期 : Monday Tuesday ... Sunday 三原色 : red green blue
- 若枚举类只有一个对象,则可以作为单例模式的一种实现方法.
2.实现
(1). 枚举员工工作状态
public enum Employee {BUSY, FREE, VOCATION, DIMISION;//空参构造器
}
(2). 枚举四季
public enum Season {//必须在枚举类的开头声明多个对象,对象之间用逗号隔开SPRING("春天", "春天来了, 又到了动物交配的季节"),SUMMER("夏天", "热死我了"),AUTOMN("秋天", "秋风凉凉"),WINTER("冬天", "凌冬将至");private String seasonName;private String seasonDesc;private Season(String seasonName, String seasonDesc) {this.seasonName = seasonName;this.seasonDesc = seasonDesc;}public String getSeasonName() {return seasonName;}public void setSeasonName(String seasonName) {this.seasonName = seasonName;}public String getSeasonDesc() {return seasonDesc;}public void setSeasonDesc(String seasonDesc) {this.seasonDesc = seasonDesc;}
}
3.Enum类
- 使用enum关键字定义的枚举类,默认继承父类是java.lang.Enum类.Enun继承自Object类.
- 所以不能再显示继承其他类.否则报错
4.Enum中常用方法
- String toString() : 默认返回的是变量名.如SPRING,即Enum类中重写了Object的Object方法,但仍然可以继续重写.
- static 枚举类型 valueOf(String name) : 可以把一个字符串转为对应的枚举类型,要求字符串必须是枚举类型对象的名字(SPRING).
- String name() : 得到当前枚举常量的名称.建议优先使用toString().