枚举
简单介绍
- 枚举对应英文enum, 是一组常量的集合
- 枚举属于一种特殊的类,里面只包含一组有限的特定的对象
实现方式
自定义类实现枚举
- 不需要提供setter方法,因为枚举对象值通常为只读
- 对枚举对象/属性使用final + static共同修饰,实现底层优化
- 枚举对象名通常使用全部大写,常量的命名规范
- 枚举对象根据需要,也可以有多个属性
说明
- 将构造器私有化,防止直接new
- 去掉setter方法,防止属性被修改
- 在类内部直接创建固定的对象
- 加入final修饰符优化
- 对外暴露对象
- 可以提供get方法
enum关键字实现枚举
- 使用关键字enum替代class
- 如果有多个常量(对象),使用逗号间隔
- 如果使用enum来实现枚举,要求将定义常量对象写在前面
- 使用无参构造器创建常量对象,可以省略()
注意事项
- 使用enum关键字开发一个枚举类时,默认会继承Enum类,而且是一个final类
- 调用构造器直接创建常量对象
- 如果使用无参构造创建枚举对象,则实参列表和小括号都可以省略
- 当有多个枚举对象时,使用逗号间隔,最后一个分号结尾
- 枚举对象必须放在枚举类的行首
枚举类常用方法
- toString :Enum类已经重写,返回的是当前对象名,子类可以重写该方法,用于返回对象的属性信息
- name : 返回当前对象名,子类不能重写
- ordinal : 返回当前对象的位置号,默认从0开始
- values : 返回当前枚举类中的所有常量
- valueOf: 将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常
- compareTo : 比较两个枚举常量,比较的是编号
enum实现接口
- 使用enum关键字后,就不能再继承其他类了,因为enum会隐式继承Enum,而Java式单继承机制
- 枚举类和普通类一样,可以实现接口
posted @
2021-06-21 10:57
mx_info
阅读(
227)
评论()
收藏
举报