枚举类型,在 JVM 层面禁止了通过反射构造枚举实例的行为,如果尝试通过反射创建,将会报Cannot reflectively create enum objects....枚举与构造函数
枚举类可以编写自己的构造函数,但是不能声明public,protected,为了是不让外部创建实例对象,默认为private且只能为它....枚举与策略模式
特定的常量类型与主体中的方法或行为有关时,即当数据与行为之间有关联时,可以考虑使用枚举来实现策略模式....因此,不建议在Android中使用枚举常量,而更偏向于使用 static final来定义常量.
但是,枚举常量中有类型安全检查的功能,使用常规的实现,没有这种功能....我觉得并不如此,当数据和行为有关联时,或者说数据受到行为的控制时,可以考虑使用策略枚举.