枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。
枚举类型 : 描述一种事物的所有情况|所有可能|所有实例
一个类的实例对象的数量是有限且固定的
声明枚举时必须使用 enum 关键字,然后定义枚举的名称、可访问性、基础类型和成员等
//一周的中的天数 周1~周7
enum WeekDays{
//枚举字段|当前枚举类型的实例
MON,TUES,SUN("星期天");
// public static final WeekDay MON = new WeekDay();
//成员变量
private String name;
//构造器
private WeekDays(){}
private WeekDays(String name){
this.name = name;
}
//成员方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
任意两个枚举成员不能具有相同的名称,且它的常数值必须在该枚举的基础类型的范围之内,多个枚举成员之间使用逗号分隔。
1.String
2.基本数据类型包装类
3.Math
4.Date
5.SimpleDateFormat
1.通过enum关键字定义枚举类型
2.枚举的成员,字段都作为当前枚举类型的实例存在,默认被public static final修饰
3.定义的枚举类型都会隐式的继承自java.lang.Enum 这是所有Java语言枚举类型的公共基类。
4.在枚举类型中构造器默认私有
如果没有显式地声明基础类型的枚举,那么意味着它所对应的基础类型是 int。
方法名称 | 描述 |
---|---|
values() | 以数组形式返回枚举类型的所有成员 |
valueOf() | 将普通字符串转换为枚举实例 |
compareTo() | 比较两个枚举成员在定义时的顺序 |
ordinal() | 获取枚举成员的索引位置 |
枚举类
Java 中的每一个枚举都继承自 java.lang.Enum 类。当定义一个枚举类型时,每一个枚举类型成员都可以看作是 Enum 类的实例,这些枚举成员默认都被 final、public, static 修饰,当使用枚举类型成员时,直接使用枚举名称调用成员即可。
枚举类的使用
定义枚举类
/**
* 定义一个星期的枚举类
*/
public enum WeekEnum {
// 在第一行显式地列出7个枚举实例(枚举值)
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
枚举类的成员变量、成员方法、构造器