【java】设计模式-单例设计模式

单例设计模式:解决一个类在内存中是存在一个对象的问题。当需要该事物的对象在内存中唯一时,将以下三步添加即可。

思想:想要保证对象唯一
1.为了避免其他程序过多的建立该类对象,先禁止其他程序建立该类对象
2.为了其他程序访问到该类对象,只好在本类中,自定义一个对象
3.为了方便其他程序对自定义对象的访问,可以对外提供一个访问方式

思想如何实现:
1.讲构造函数私有化
2.在类中建立一个本类对象
3.提供一个方法可以获取本类对象

/**
名称:饿汉式
特点:先初始化对象,Single类一进内存,就已经创建好了对象。
*/

class Single
{
	private Single(){};
	private static Single s=new Single();
	public static Single getIntance()
	{
		return s;
	}
}

/**
名称:懒汉式
特点:对象是方法被调用是,才初始化。也叫对象的延时加载。
		Single类进入内存,对象还没有存在,只有调用getIntance方法时,才建立对象
*/

class Single
{
	private Single(){};
	private static Single s=null;
	public static Single getIntance()
	{	
		if (s==null)
		{
			s=new Single();
		}
		return s;
	}
}
/****************************************************************/

class  SingleDemo
{
	public static void main(String[] args) 
	{
		Single ss=Single.getIntance();
	}
}

 在程序编程中,推荐饿汉式,因为其他程序使用时,对象已经存在。懒汉式存在一个问题,当同时调用getIntance方法时,可能会实例化多个对象。

原文地址:https://www.cnblogs.com/paulwinflo/p/7930249.html