设计模式学习之-单例模式

原创
2015/11/05 12:01
阅读数 25

    单例(Singleton)模式:单例模式确保某一个类只有一个实例,而且该类只能是自己实例化自己并向其他类公开这个实例的对象创建模式,采用单例模式的类要满足以下三点:

  • 确保某一个类只有一个实例(构造方法私有化

  • 单例类必须自己创建自己的唯一实例

  • 必须提供一个外部可以获取这个类具体实例的方法该方法必须是静态方法

  

    在单例模式中又分为两种写法:

    第一种:懒汉模式

public class SingletonLazy {
    //构造方法私有化
    private SingletonLazy(){}
    private static SingletonLazy Singleton = null;  
    //静态工厂方法,在第一次被调用时才将自己实例化  
    public static SingletonLazy getInstance() {  
         if (Singleton == null) {    
             Singleton = new SingletonLazy();  
         }    
        return Singleton;  
    }  
}

    第二种:饿汉模式

public class SingletonHungry {
    //构造方法私有化
    private SingletonHungry(){}
    //在类加载的时候就实例化一个自己的对象
    private static final SingletonHungry Singleton = new SingletonHungry(); 
    //每次调用该静态工厂方法返回该实例
    public static SingletonHungry getInstance(){ 
        return Singleton ; 
    } 
}

演示代码地址

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部