十三、Java基础之单例模式

/*
一、设计模式是可以重复利用的解决方案
  实现单例模式:
  1.构造方法私有化
  2.对外提供一个公开的静态的获取当前类对象的方法
  3.提供一个当前类型的静态变量
*/
Singletom类
public class Singletom {

    //提供一个当前类型的静态变量
    private static Singletom s;
    //将构造方法私有化
    private Singletom(){}
    //对外提供一个公开获取Singletom的方法。
    public static Singletom getWe(){
        if(s == null){
            s = new Singletom();
        }
        return s;
    }
}
public class Test01 {

    public static void main(String[] args){

        Singletom s1=Singletom.getWe();

    }



}

二、单例模式有两种形式

  1.饿汉模式

//饿汉模式(立即加载模式)
public class Singtom1 {

    //提供一个当前类型的静态变量
    private static Singtom1 s=new Singtom1();
    //构造方法私有化
    private Singtom1(){}
    //对外提供一个公开获取Singletom1的方法。
    public static Singtom1 getInstance(){
        return s;
    }


}

  2.懒汉模式

//懒汉模式(延迟加载方式)
public class Singletom {

    //提供一个当前类型的静态变量
    private static Singletom s;
    //将构造方法私有化
    private Singletom(){}
    //对外提供一个公开获取Singletom的方法。
    public static Singletom getWe(){
        if(s == null){
            s = new Singletom();
        }
        return s;
    }
}
原文地址:https://www.cnblogs.com/chushujin/p/10052870.html