这是个小知识点,用其他方式同样可以实现需要实现的功能,只不过在某些情况下,我们用枚举会更合理一些。
枚举类:一个类中的对象认为个数是有限且固定的,可以将每一个对象一 一列举出来。
写法:
public enum Day{
}
我们自己定义的枚举类,默认继承Enum类,间接继承Object类
我们自己定义的enum类型不能再写extends 但是可以实现接口
Enum类型有两个属性
name---->枚举对象的名字 用 name()可以获取name属性
ordinal—>枚举对象在类中罗列的顺序 类似数组index 也从 0 开始 用ordinal()可以获取序号
常用方法:
- valueOf(); 通过给定的 name 获取对应的枚举对象
- values(); 获取全部枚举对象,返回一个数组
- compareTo(); 可以比较两个枚举对象 返回int
- toString(); 可以重写这个方法
可以在enum中描述自己的一些属性或方法:
要求必须在enum类中第一行描述一下枚举的样子 最后需要分号结束;
然后定义自己的属性
类创建的过程中,虚拟机会帮我们创建枚举类型的对象
需要给枚举类型提供对应样子的构造方法 构造方法只能private修饰 可以重载