小白学java第24天
枚举(enumeration)
实现方式:1.自定义类实现枚举2.enum实现枚举
自定义类实现枚举:
1.将构造器私有化,目的是防止直接被new
2.杜绝setXxx方法,防止属性被修改
3.去 类的内部,直接创建固定的对象
注意:
1.不需要提供set方法,因为枚举的对象值通常为只读
2.对枚举对象/属性使用final+static共同修饰,实现底层优化
3.枚举对象名通常使用全部大写,常量的命名规范
4.枚举对象根据需要也可以有多个属性
enum实现枚举:
1.使用关键字enum代替关键字class
2.直接使用 常量名(实参列表)代替生成对象的步骤
3.如果有对个常量(对象),使用 , 号间隔即可
4.如果使用enum来实现枚举,要求将定义常量对象写在前面
注意:
1.使用enum关键字开发一个枚举类是,默认汇集成Enum类(可以用javap验证)
2.如果使用无参构造器,则实参列表和小括号都可以省略;
3.如果有多个常量(对象),使用 , 号间隔,最后有一个分号结尾
4.枚举对象必须放在枚举类的行首
enum常用方法:
1.toString:返回当前对象名,子类可以重写
2.name:返回当前对象名(常量名),子类不能重写
3.ordinal:返回当前对象的位置号,默认从0开始
4.values:返回当前枚举类中所有的常量
5.valueOf:将字符串转化为枚举对象,要求字符串必须为已有的常量名
6.compareTo:比较快两个枚举常量,比较的就是序号 前者比后者大返回正值,小就返回负值,相等返回0
注意:
1.enum默认继承Enum类由于java的单继承机制不能继承其他的类
2.和其他类一样枚举类可以实现接口