【设计模式】——单例模式

转自:xingoo

单例模式:

  保证类仅有一个实例,并且可以供全局使用。这个类自己创建对象,并且提供对外公开的调用方法。(构造方法私有)

使用场景:

  当类只有一个实例,并且可以从一个固定的访问点访问它时。

代码展示:

【饿汉模式】

public class Singleton {
    private static final Singleton singleton = new Singleton();   //此处为final变量  不可以修改
    private Singleton(){
        /**
         * 构造方法私有化
         */
    }
    /*
     * 返回实例,方法为static
     */
    public static Singleton getInstance(){
        return singleton;
    }
}

【懒汉模式】

public class Singleton2 {
    private static  Singleton2 singleton = null;
    private Singleton2(){
        /**
         * 构造方法私有化
         */
    }
    /*
     * 同步方法synchronized ,当需要实例的时候采取创建, 返回实例,方法为static
     */
    public static synchronized Singleton2 getInstance(){
        if(singleton==null){
            singleton = new Singleton2();
        }
        return singleton;
    }
}
原文地址:https://www.cnblogs.com/doudingbest/p/4957264.html