什么是设计模式呢?就是解决某一类问题最行之有效的方法.
而单例模式的作用在于解决一个类在内存只存在一个对象.想要保证对象唯一.
说真的,单例模式我刚刚接触的时候,也是非常的不理解,特别是字面上的意思,现在我简单打一个比方,就可以清楚的显示出单例模式的作用了,有很多时候必须要创建一个对象,并且不能创建多个,用单例就为了防止创建多个对象。比方说一个学校只有一个校长,不能有两个,有两个也出问题了,像校长这个类就必须做成单例的。
单例模式的三个思维步骤:
1.为了避免其他车公帑过多建立该类对象,先控制禁止其他程序建立该类对象.
2.还为了让其他程序可以访问到该类对象,只能在本类中,自定义一个对象.
3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式.
而单例模式也分为饿汉式单例和懒汉式单例:
饿汉式:在类被加载的时候,唯一实例已经被创建。这个设计模式在Java中容易实现,在别的语言中难以实现。
public class Single {
private static Single s = new single();
private single(){}
public static Single getInstance(){
return s;
}
}
懒汉式:方法被调用是,才初始化(是有点懒了),也可以叫做方法延时加载.
public class Single {
private static Single s =null;
private single(){}
public static Single getInstance(){
if(s ==null){
s=new Single();
return s;
}
}
}
总结一下特点:
饿汉式的特点是Single类一进内存,就已经建立了对象,这个最常用.
懒汉式的特点是Single进内存,对象还没有存在,只有调用了getInstance方法时候,才建立对象. |