一共23种设计模式
设计模式:对问题行之有效的解决方式,他其实是一种思想。
单例设计模式
解决的问题:保证一个类在内存中的对象唯一性
对于必须多个程序使用同一个配置信息对象时,就要保证对象的唯一性。
如何保证唯一性
1.不允许其他程序用new 创建该类对象
2.该类创建一个本类实例
3.对外提供一个方法让其他程序可以获取该对象
步骤
1.私有化该类的构造函数
2.通过new 在本类中创建一个对象
3.定义一个共有的方法,将创建的类返回
class SingleDemo{ public static void main(String[] args) { Single x1=Single.getInstance(); Single x2=Single.getInstance(); x1.setNum(10); x2.setNum(20); System.out.println(x1.getNum()+"----"+x2.getNum()); } } //饿汉式 class Single{//类一加载 对象就创建 private int num; public void setNum(int num){ this.num=num; } public int getNum(){ return this.num; } private Single(){}; private static Single s=new Single(); public static Single getInstance(){ return s; } } //懒汉式 //类加载进内存,不创建对象,只有调用getInstance() 才创建对象 class Single2{//延迟加载 private static Single2 s=null; Single2(){}; public static Single2 getInstance(){ if(s==null) s=new Single2(); return s; } }