枚举类型的常见使用场景:
枚举类型 作为 错误码集合:
1 | public enum ErrorEnum { |
定义的枚举 属性都是 枚举类型,这个枚举类型每一个错误吗会对应一个 错误信息;
使用 枚举类型enum 构建一个状态机:
利用enum可以为枚举实例添加方法的特性,可以构造状态机。
1 | package enumeration; |
使用 枚举类型enum 构建一个职责链:
利用enum可以为枚举实例添加方法的特性,可以构造简单的责任链 。
人在高兴,悲伤状态下的笑和哭具有不同的意义.
1 | package enumeration; |
enum 的多路并发:
也就是使用 switch。
查看enum 字节码:
类:
1 | public enum EnumTest{ |
编译出来的类似字节码Oolong语言:
1 | .source EnumTest.java |
从类似字节码可以看出,enum被编译为了 常量类,而且父类是Enum,所以enum定义的类不能在继承其它父类,也不能被其它类集成。
枚举类型的field都是 public static final 静态常量类型;
初始化属性时 会现调用私有的父类(enum)构造器,然后初始化自己的所有field。
构造器只是在构造枚举值的时候被调用。