什么是枚举?
一种特殊的类,用来固定多个常量对象的集合
格式[修饰符] enum 枚举类名
{
常量A,常量B,常量C;
}
enum HelloWorld{
H,e,l,l,o,W,o,r,l,d;
}
等同于
final class HelloWorld extends Enum{
private Weekday(){} //私有化,防止被实例
public static final HelloWorld H = new HelloWorld();
.......
}
特点
- 枚举相当一个类,可以定义构造方法,成员变量,普通方法和抽象方法
- 默认私有的构造方法
- 每个实例分别用一个实例常量表示,枚举类对象是固定的,实例个数有限,不能使用new关键字
- 枚举实例必须位于没具体的最开始部分,
- 枚举实例后有花括号时,该实例时枚举类的匿名内部类对象
使用
枚举的使用:
1):枚举中都是全局公共的静态常量,可以直接使用枚举类名调用.
Weekday day = Weekday.SATURDAY;
2):因为java.lang.Enum类是所有枚举类的父类,所以所有的枚举对象可以调用Enum类中的方法.
String name = 枚举对象.name(); //返回枚举对象的常量名称
int ordinal = 枚举对象.ordinal();//返回枚举对象的序号,从0开始.
String str = 枚举对象.toString():返回 枚举对象的常量名称