设计模式之单例模式

核心

保证一个类在内存中对象的唯一性

那么如何保证类的对象在内存中唯一呢

1.我们都知道,在创建对象的时候,都要对构造函数初始化;只要将构造函数私有化,那么其他程序中就无法创建该类的对象。
2.在该类中创建私有的、静态的该类的对象。
3.再写一个公有的、静态的方法,返回该类的对象,供其他程序的调用。这样就可以确保类在内存中对象的唯一性。

代码:
1.饿汉式

public class Single
{
	//构造函数私有化
	private Single()
	{
	}
	//创建私有、静态的本类对象。
	private static Single single = new Single(); 
	//定义公有并静态的方法,返回该对象。
	public static Single getInstance()
	{ 
		return single;
	}
}

2.懒汉式

public class Single
{
	//构造函数私有化
	private Single()
	{
	}
	//创建私有、静态的本类对象。
	private static Single single = null; 
	//定义公有、静态的方法,返回该对象。
	public static Single getInstance()
	{ 
		if(null==single)
		{
			single = new Single();
		}	
		return single;
	}
}

你可能感兴趣的:(设计模式)