实现:
用关键字 enum +枚举类型名{
枚举成员()
方法()
}
枚举成员: 是可一一列举的枚举常量,所以枚举成员就如同对象,具有对象名,和属性,因此可称之为枚举对象(特殊点,直接在类中声明一个对象,如果声明枚举对象是没有添加属性,则系统会自动生成无参构造方法,并调用无参构造方法,如果在声明枚举对象时带有属性,则需要显示的声明有参的构造方法.)
枚举和普通类的区别:
1:继承了 java.Enum<E>类的子类,所以枚举类不能被继承和继承,但是枚举类可以调用接口.
2:创建枚举时不可使用new运算符,而是直接将枚举成员赋值给枚举变量.
3:枚举也是类,所以它可以有自己的构造方法和其他方法,但是由其不能被继承的特性可知,构造方法,只能用private修饰,可以省略,但是默认是private
4:枚举的所有枚举成员都必须在枚举的第一行显示的列出,因为枚举成员是一个不可改变的常量,所以枚举成员默认使用 public static fianl 修饰
枚举用方法
枚举名.values() 返回枚举类型的数组,该数组包含枚举的所有枚举成员,并按照它们的声明顺序存储,(就是把所有的枚举常量按照声明时的顺序存储在数组中)
枚举名.valueOf(String str); 返回名称为str的枚举成员(可以直接在主类中调用到任意的枚举常量)
枚举成员1.compareTo(枚举成员2): 得到枚举成员1和枚举成员2的序号差值
枚举对象.name(): 用于显示该枚举对象的的枚举常量的名称
枚举对象.toString(): 用于显示改枚举对象的枚举常量的属性
枚举对象.ordinal(): 用于显示改枚举对象的枚举常量的序号
枚举对象1.equals(枚举对象2): 用于比较两给枚举对象是否相等