枚举类
枚举enum表示一种事物的所有可能/一种类的所有情况。
注:
- 枚举类型不能自定义实例化,实例由枚举类型自己提供,因为枚举类的构造器默认私有化
- 枚举类型通过枚举字段提供当前类型的实例
- 一般通过枚举类型表示某种标识,而不会定义太多的功能和属性
- 通过enum关键字,定义的枚举类,都没人继承自java.lang.Enum
import java.util.Arrays;
public class EnumDemo01 {
public static void main(String[] args) {
WeekDay w =WeekDay.TUES;
//w.setName("星期一");
System.out.println(w.getName());
System.out.println(w);
//switch 1.5支持枚举类型数据的额判定
switch (w){
case MON:
System.out.println("周一");
break;
case SUN:
System.out.println("周天");
break;
}
System.out.println(w.name()); //实例名称
System.out.println(w.ordinal()); //当前实例的索引 从0开始
//获取 当前枚举类型的所有实例
WeekDay[] days = w.values();
System.out.println(Arrays.toString(days));
}
}
//枚举类型WeekDay : 用来表示一周中的每一个一天,WeekDay的实现,代表周一到周天,对象由枚举类型自己控制
enum WeekDay{
//字段1,字段2,....;
MON(),TUES("星期二"),SUN; //匹配空构造
private String name;
private WeekDay(){}
private WeekDay(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "WeekDay{" +
"name='" + name + '\'' +
'}';
}
}