单例的一种新的写法

单例的什么懒汉式,饿汉式二种都已是司空见惯的形式了,

有时写的多了,确实有点闲麻烦,

刚刚在看《Effective Java》时,发现作者发明了一种新的写法,简洁有力,这个方法是从java1.5开始,

且是线程安全的,绝对只有一个实例。

这就是单元素的枚举类

我简单的写个例子测试了下,代码如下:

/**
 * 一种新的单例模式
 * @author Sunny
 * @date 2015-10-31下午11:24:52
 */
public enum Singleton {
	SINGLETON;
	
	private int num = 0;
	private String name =null;
	
	 Singleton(){
		num += 100;
		name = "sunny";
	}
	 
	 public String getName(){
		 return name+num;
	 }
	 
	 public static void main(String[] args) {
		System.out.println(Singleton.SINGLETON.getName());
		System.out.println(Singleton.SINGLETON.getName());
		System.out.println(Singleton.SINGLETON.getName());
		System.out.println(Singleton.SINGLETON.getName());
		System.out.println(Singleton.SINGLETON.getName());
	}

}

在控制台输出的结果如下:

sunny100
sunny100
sunny100
sunny100
sunny100

是不是很简单,又很方便呀,快点优化代码吧,把懒汉式,饿汉式等都改过来吧。

你可能感兴趣的:(enum,Singleton,java单例)