枚举:
枚举类: 实例有限而且固定的类,称为枚举类
格式:
enumEnumSeason {
SPRING("SPRING"),SUMMER("SUMMER"),AUTUMN("AUTUMN"),WINTER("WINTER");
private final String name;
private EnumSeason(String name) {
this.name=name;
}
public String getName() {
return this.name;
}
}
注意:
1. 枚举类的所有实例,必须列出于类中第一行位置,使用逗号(,)隔开,结尾使用分号(;)结束 (系统默认是 public static final修饰);
2. 使用enum关键字定义的枚举类,都是继承于java.lang.Enum类;
3. 枚举类的构造器,只能使用private修饰;枚举类的对象属性不允许被改变,只能使用private final 修饰,且对象属性的赋值应该在构造器中进行;
4. JDK1.5开始,枚举也可以使用在switch语句中; (1.7可以使用String)
5. 若是枚举只有一个实例,则可以作为一个单例模式的实现方式;
6. 若是枚举类显式的定义了带参数的构造器,则在列出枚举值时,也必须对应的传人参数;
7. 实现接口的枚举类:
a) 枚举类和普通类一样是可以实现一个或多个接口的;
b) 若需要每个枚举值在调用实现接口方法时呈现不同的行为方式,则可以让每个枚举值分别来实现该方法:
8. 枚举类的方法:
a) EnumSeason[ ] esArr = EnumSeason.values();//获取EnumSeason的所有枚举对象
b) EnumSeason es = EnumSeason.valueOf( “SPRING” ) ;//通过名称来获取对应的对象
c) System.out.println( es.ordinal() ); //求元素的顺序,从0开始