——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
单例设计模式分为 饿汉式 和 懒汉式 两种。
第一种,饿汉式,代码如下:
class Single{
private static Single s=new Single(); //在类初始化时,已经实例化了
private Single(){} //私有构造函数,该类不能在外面实例化
public static Single getInstance(){
return s;
}
}
具体步骤:在Single类中定义一个私有静态Single对象,然后把Single的构造函数私有化,再提供一个访问方法,以供外面调用Single的对象,访问Single里的属性方法等,这样就达到了对Single类只能生成一个对象的效果。
第二种,懒汉式,代码如下:
class Single{
private static Single s=null;
private Single(){}
public static Sinlge getInstance(){
if(s==null){
synchronized(Single.class){
if(s==null){
s=new Single();
}
}
}
return s;
}
}
懒汉式的跟饿汉式的区别就是它不会第一时间就把对象建立,而是等到外面调用Single的访问方法时才新建对象,返回对象。