设计模式
对问题的行之有效的解决方法,其实它是一种思想。不要固化。
1,单例设计模式。
解决的问题:
保证一个类在内存中的对象唯一性。
必须对于多个程序使用同一配置信息对象时,就该保证对象唯一性。
如何保证对象唯一性?
1),不可以让其他程序用new创建对象。
2),在该类中,创建一个本类实例。
3),对外提供方法让其他程序获取该对象。
步骤:
1),私有化该类构造函数。
2),通过new在本类中创建一个本类对象。
3),定义一个共有方法,将创建的对象返回。
代码例子:
class Single
{
private static Single s = new Single();
private Single (){}
public static Single get()
{
return s;
}
}
public class mfcheer
{
public static void main(String[] args)
{
Single s1 = Single.get();//可控
Single s2 = Single.get();
System.out.println(s1==s2);//返回true
// Single sss = Single.s; 不可控
}
}
//类加载时,无对象,get方法调用时才创建对象
//延迟加载形式
//懒汉式 : 用到时才创建对象
//存在的问题:多线程时可能存在安全隐患
class Single
{
private static Single s = null;
private Single (){}
public static Single get()
{
if (s == null)
s = new Single();
return s;
}
}