单子(Singleton)设计模式:在整个应用中只有一个实例存在,创建的两个实例都指向同一个对象。
创建的步骤:
1.构造器要私有。
2.用一个私有的静态变量引用实例。
3.用一个公有静态方法获得实例。
如:
/* 一。为什么要实现单一模式,是因为我创建的两个实例都指向同一个对象
二。要实现单一模式需要进行下面三步:
1.构造器私有
2。用一个私有,静态变量引用实例
3。提供一个公有。静态方法获得实例
*/
public class SingletonPattern
{
private int r;
//用一个私有,静态变量引用实例
private static SingletonPattern sp;
//构造器设为了私有
private SingletonPattern()
{
r = (int)(10*(java.lang.Math.random()));
}
//提供了一个公有,静态方法获得实例
public static SingletonPattern getInstance()
{
if (sp==null)
{
sp = new SingletonPattern();
}
return sp;
}
public double getR()
{
return r;
}
public static void main(String args[])
{
SingletonPattern sp1 = SingletonPattern.getInstance();
SingletonPattern sp2 = SingletonPattern.getInstance();
System.out.println(sp1.getR());
System.out.println(sp2.getR());
}
}