设计模式1-单例模式

这个没啥说的懒汉和饿汉两种,直接看代码。

懒汉式

public class Singleton {

    // 直接创建对象

    public static Singleton instance = new Singleton();

    // 私有化构造函数

    private Singleton() { }

    // 返回对象实例

    public static Singleton getInstance() { 

        return instance;

    } 

}

懒汉式:

 public class Singleton {

    // 声明变量 

    private static volatile Singleton singleton = null;

    // 私有构造函数

    private Singleton() {  } 

    // 提供对外方法 

    public static Singleton getInstance(){

        if (singleton == null) {

            synchronized (Singleton.class){

                if (singleton == null){

                    singleton = new Singleton();

                }

            }

        }

    return singleton;

    }

}

你可能感兴趣的:(设计模式1-单例模式)