所谓设计模式,就是针对某一类问题的比较经典的解决办法。单例设计模式是指一个类在内存中只能有一个对象实例,而不能随意用new来创建这个类的对象。比如像配置文件这样的类,一般只允许有一个对象存在,在不同地方对它的修改操作的是同一个实例。
那如何保证对象的唯一性呢?这就要做到以下几点:
1、不允许其他程序用new来创建该类的对象,这就要求改类的构造函数为私有的。
2、在该类的内部创建一个本类的实例。
3、对外提供一个方法,让其他程序可以调用本类的实例。由于该类在其他地方不能有对象,所以该方法必须是静态的,可以用类名来直接调用。
基本代码如下:
恶汉式:
class Single
{
private static Single s = new Single();
private Single();
public static Single getInstance()
{
return s;
}
}
class Demo
{
public static void main(String [] args)
{
Single ss=Single.getInstance();
}
}
懒汉式:
class Single
{ private Single s=null;
private Single();
public static Single getInstance()
{
if(s==null)
s=new Single();
return s;
}
}
class Demo
{
public static void main(String [] args)
{
Single ss=Single.getInstance();
}
}