目的:解决一个类在内存中只存在一个对象的问题。
方法:
1、为了实现只有一个对象,就必须禁止其他程序建立对象。
2、为了让其他程序访问到类对象,在本类中定义一个对象。
3、为了使其他程序对自定义对象访问,可以对外提供访问方式。
步骤:
1、将构造函数私有化
2、创建一个本类对象。
3、提供一个方法可以获取本类对象。
/**
饿汉式
*/
class Single
{
private static Single s=new Single();
private Single(){};
public Single getInstance()
{
return this.s;
}
}
/**
懒汉式
*/
class Single
{
private static Single s=null;
private Single(){}
public static Single synchronized getInstance()
{
if(this.s==null)
{
this.s=new Single(0;
}
return this.s;
}
}
/**
懒汉式
*/
class Single
{
private static Single s=null;
private Single(){}
public static Single getInstance()
{
if(this.s==null)
{
synchronized(Single.class)
{
if(s==null)
{
s=new Single();
}
}
this.s=new Single(0;
}
return this.s;
}
}