设计模式

单例模式

2017-09-22  本文已影响0人  Mayo酱

饿汉试

//设立静态变量,直接创建实例  
private static MySingleton2 mySingleton = new MySingleton2();  
  
private MySingleton2(){  
    //私有化构造函数  
    System.out.println("-->饿汉式单例模式开始调用构造函数");  
}  
      
//开放一个公有方法,判断是否已经存在实例,有返回,没有新建一个在返回  
public static MySingleton2 getInstance(){  
    System.out.println("-->饿汉式单例模式开始调用公有方法返回实例");  
    return mySingleton;  
}  

懒汉式

//懒汉式单例模式  
public class MySingleton {  
  
    //设立静态变量  
    private static MySingleton mySingleton = null;  
  
    private MySingleton(){  
        //私有化构造函数  
        System.out.println("-->懒汉式单例模式开始调用构造函数");  
    }  
      
    //开放一个公有方法,判断是否已经存在实例,有返回,没有新建一个在返回  
    public static MySingleton getInstance(){  
        System.out.println("-->懒汉式单例模式开始调用公有方法返回实例");  
        if(mySingleton == null){  
            System.out.println("-->懒汉式构造函数的实例当前并没有被创建");  
            mySingleton = new MySingleton();  
        }else{  
            System.out.println("-->懒汉式构造函数的实例已经被创建");  
        }  
        System.out.println("-->方法调用结束,返回单例");  
        return mySingleton;  
    }  
}  
上一篇下一篇

猜你喜欢

热点阅读