java中的枚举
枚举类型的主要作用是不能够自己创建该对象,暴力反射也不可以,可以作为单例模式的类型
关键字 Enum
1.定义一个枚举
package single;
public enum EnumSingle {
//表示该枚举类创建了两个单例模式的枚举类,这里的名称自定义,并且都有下面的成员变量和方法
INSTANCE,TWO;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public EnumSingle getInstance(){
return EnumSingle.INSTANCE;
}
public EnumSingle getTWO(){
return EnumSingle.TWO;
}
}
因为是单例模式的,所以即使是TWO使用了getInstance方法,获取的还是系统中的同一个
测试方法:
public static void main(String[] args) {
EnumSingle instance = EnumSingle.INSTANCE.getInstance();
EnumSingle two = EnumSingle.TWO.getTWO();
instance.setName("aaa");
two.setName("bbb");
System.out.println(instance.getNa