设计模式一——单例设计模式
解决的问题,就是一个了类在内存中的对象唯一性。
必须对多个程序使用同一个配置信息对象时,需要保证该对象的唯一性。
如何保证对象唯一性呢?
- 不允许其他程序用new创建该类对象。
- 在该类中创建一个本类实例。
- 对外提供一个方法让其他程序可以或许该对象。
步骤
- 私有化该类的构造函数。
- 通过new在本类中创建一个本类对象。
- 定义一个公有方法将创建对象返回。
class Single
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
class SingleDemo
{
public static void main(String[] args)
{
Single s1 = Single.getInstance();
Single s2 = Single.getInstance();
System.out.println(s1==s2);
// Test t1 = new Test();
// Test t2 = new Test();
Test t1 = Test.getInstance();
Test t2 = Test.getInstance();
t1.setNum(10);
t2.setNum(20);
System.out.println(t1.getNum());
System.out.println(t2.getNum());
}
}
class Test
{
private int num;
private static Test t = new Test();
private Test();
public static Test getInstance()
{
return t;
}
public void setNum(int num)
{
this.num = num;
}
public int getNum()
{
return num;
}
}