Java设计模式之单例模式

1、使用场景

解决一个类在内存中只存在一个对象。开发中如打印日志的工具类、自定义Application类实现对全局变量进行管理都会使用单例模式。

2、创建单利模式步骤

1)不让其他程序创建该类对象,私有化构造函数;

2)为让其他程序可以访问到该类对象,只好在本类中自定义一个对象。

3)对外提供方法,让其他程序获取这个对象。

3、单列模式的两种写法

1)饿汉式:类一进内存,就应经创建好对象。

<span style="font-size:14px;">class Single{
	private Single(){}
	private static Single single = new Single();
	//静态工厂方法
	public static Single getInstance(){
		return single;
	}
}</span>

2)懒汉式:对象是方法被调用时才初始化,也称类的延时加载。

class Single {
	private Single() {}

	private static Single single;

	// 静态工厂方法
	public static Single getInstance() {
		if (single == null) {
			synchronized (Single.class) {
				if (single == null) {
					single = new Single();
				}
			}
		}
		return single;
	}
}

你可能感兴趣的:(Java设计模式之单例模式)