枚举特性:
1.枚举类型是一种类,是引用类型,可以添加方法和成员变量
2.父类是java.lang.Enum,不需要显示声明。
3.可以实现接口。
4.不能被继承,不存在子类。
语法格式:
[public] enum 枚举名 {
枚举常量列表
}
访问级别:公有(任何地方),默认(本包内可以访问)。
5.枚举类的成员方法不可以是抽象方法。但是可以有实例方法或者静态方法。
6.枚举类的构造方法,即使不加private也是私有访问级别的构造方法。这说明枚举类不允许在类外部创建对象。P169:例子
7.枚举类的常用方法:
所以枚举类都继承java.lang.Enum类,其中一些常用方法:
int ordinal():
返回枚举常量的顺序。顺序从0开始。(和python里的enumerate()返回的结果一毛一样)index values
枚举类型[] values(): 静态方法,返回一个包含全部枚举常量的数组。
枚举类型 valueOf(String str):静态方法,str是枚举常量对应的字符串,返回一个包含枚举类型的实例。
8.比较
在Java引用类对象比较:
A)== :比较两个引用是否指向同一个对象。
B)equals:比较两个对象内容是否相同。
在枚举类型中A)和B)是一样的,因为枚举类中每个枚举常量无论何时都只有一个实例。
单例设计模式。