枚举的特性梳理 JAVA之枚举:https://www.jianshu.com/p/7d3e3f6695a5 Java 枚举(enum) 详解7种常见的用法:https://blog.csdn.net/testcs_dn/article/details/78604547

1、相当于一个类多例,枚举类默认是final关键字修饰,因此不能被继承
2、用enum关键字
3、所有枚举都是Enum的子类,因此不能再继承其他类
4、方法:
  conpareTo(E e):比较两个枚举常量声明的顺序
  equals(Object o):比较两个枚举常量是否相等
  hashCode():返回枚举常量的hashCode
  name():返回枚举常量的名字
  ordinal():返回枚举常量的序号
  toString():把枚举常量转换成字符串
  valueOf(Class enumType,String name):把字符串转换成枚举常量

5、有两个不用声明就可以调用的static
  statci Direction[] values():返回本类所有枚举常量
  static Direction valueOf(String name):通过枚举常量的名字返回Direction常量,这与Enum类中的valueOf()方法的参数个数不同。
6、可以有构造器,只能是private,因为枚举类实例不能让外界创建
7、可以有成员
8、可以有抽象方法
9、可以实现接口

10、java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。

参考文档(想要深入理解请看下面文档):

Java 枚举(enum) 详解7种常见的用法:https://blog.csdn.net/testcs_dn/article/details/78604547