枚举是Java5提供的一种新的数据类型是一个特殊的类型是一个特殊的类,就是固定的多个常量对象
语法:
修饰符 enum 枚举类名{
常量1,常量2;
}
枚举特点
(1)枚举的直接父类java.lang.Enum,但是不显示继承enum
(2)枚举就相当于一个类,可定义构造方法,成员变量,普通方法和抽象方法
(3)默认私有的构造方法,即使不写访问权限也是private(假构造器,底层没有无参数构造器)
(4)每个实例分别用一个全局变量表示,枚举类的对象是固定的,实例个数有限,不能使用new关键字
(5)枚举实例必须位于枚举体中最开始的部分,最后使用;
package HelloWorld;
enum WeekDay{
//周一到周日表示
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
class Employee{
private WeekDay restDay; //当天
public WeekDay getRestDay() {
return restDay;
}
public void setRestDay(WeekDay restDay) {
this.restDay = restDay;
}
}
public class enumDome {
public static void main(String[] args) {
Employee e=new Employee();
WeekDay week=WeekDay.FRIDAY;
e.setRestDay(WeekDay.FRIDAY); //取值 周五
if(e.getRestDay() == week || e.getRestDay() ==week ) {
System.out.println("休息");
}else {
System.out.println("不休息");
}
}
}
枚举的使用
(1)枚举中都是全局公共静态变量,可以直接使用类名调用
(2)Java5支持枚举 switch也支持枚举操作。ordinal()
枚举主要用来表示事物的固定类型。