1、当使用enum关键字设计一个枚举类,默认会继承Enum类,而且是一个final类
2、必须知道调用的是哪个构造器
3、如果使用无参构造器创建枚举对象,那么实参列表和小括号都可以省略
4、当有多个枚举对象时,使用”,“间隔,最后一个分号结尾
5、枚举对象必须放在枚举类的第一行
6、枚举类不可以再继承其他的类,但可实现接口
7、enum的静态方法values()会返回一个enum数组
8、使用==判断两个枚举对象实例是否相等
Enum常用方法:
为什么enum可以使用==判断相等:
通过javap反编译得到源码如下:
可以看出,每个实例都是static final 类型,由于enum的构造函数默认是private,因此,可以保证,每一个实例只能创建一次,也就是说,只要是SPRING, 那么他的地址是唯一的,地址固定,那么值就可以通过==来判断。
通过Enum实现单例模式:
enum Single {
INSTANCE;
Single() {}
public static Single getInstance() {
return INSTANCE;
}
}