单例单例,简单的来说肯定就是只有一个对象。也就是单例模式类的构造器肯定是私有化的。
同样的,枚举类的构造器也是私有化的,那么我们就可以利用枚举类来写单例模式啦!
这里小编知识定义了一个很简单的单例模式,里面没有什么方法,如有不足之处还请各位大大帮忙指点指点。
public class EnumTest {
public static void main(String[] args) throws IllegalAccessException, InstantiationException {
System.out.println(Single.EARTH == Single.EARTH);//true
System.out.println(Single.EARTH.getNAME());//地球
Class<Single> c = Single.class;
Single s = c.newInstance();
System.out.println(s.getNAME());
}
}
/**
* 用枚举类写单例模式
*/
enum Single{
EARTH("地球");
private final String NAME;
Single(String NAME){
this.NAME = NAME;
}
public String getNAME() {
return NAME;
}
@Override
public String toString() {
return "Single{" +
"NAME='" + NAME + '\'' +