单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
单例模式的实现有两种方式:饿汉式和懒汉式。
饿汉式:
class Demo
{
private Demo(){};//把构造函数私有化,防止在其他类新建对象
static Demo d=new Demo();//在本类中建立一个静态对象(随类加载而建立,一个程序里不会执行第二次)
public static Demo getDemo()//对外提供方法调用该对象(在其他类中直接用类名调用)
{
return d;
}
}
懒汉式:
class Demo
{
private Demo(){};
static Demo d=null;
public static Demo getDemo()
{
if(d==null)
d=new Demo();
return d;
}
}
在平时使用的过程中,优选饿汉式。
注:解释内容来自百度百科。