不同点
- 枚举类是一组相关数据的组合
- 枚举类默认继承了 java.lang.Enum 类,而不是继承 Object 类,不能继承其他类
- 非抽象枚举类默认使用
final
修饰,不能存在子类 - 枚举类的构造器只能使用
private
修饰 - 枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远不能产生实例,列出的实例,系统会自动添加 public static final 修饰
- 枚举类默认带有
values()
方法,该方法可以很方便的遍历所有的枚举值 - 常量值地址唯一, 可以用 == 直接对比, 性能会有提高
相同点
- 均可以实现接口