完美的单例模式

利用的是内部类配合枚举实现的单例模式:
优点:

  1. 枚举实现的单例模式,不但可以防止利用反射强行构建单例对象,而 且可以防止枚举类对象被反序列化的时候,保证反序列对象返回的结果是同一对象;
  2. 利用内部类可以实现懒加载,从外部无法访问MyEnumSingle,只有当调用 。
  3. 这种方式是线程安全的。MySingleton.MyEnumSingle.INSTANCE.getInstance() 才能得到单例对象。
/**
* 最完美的单例模式
* @author Administrator
*
*/
public class MySingleton {

public enum MyEnumSingle{
INSTANCE;
private MySingleton singleOne;

private MyEnumSingle(){
System.out.println("初始化单例");
singleOne = new MySingleton();
}

public MySingleton getInstance(){
return singleOne;
}
}

private MySingleton(){}

public static MySingleton getInstance(){
return MyEnumSingle.INSTANCE.getInstance();
}

}

猜你喜欢

转载自blog.csdn.net/chinaliu_kang/article/details/78717905