单例模式

1.单例模式特点:

  • 有且仅有一个实例对象
  • 在类中自行创建实例
  • 有供外部访问的公有的方法
//饿汉式单例模式
public class Singleton {
    //私有的构造方法
    private Singleton(){   //保证在外部不能构造对象
        System.out.println("饿汉式单例模式构建完成");
    }
    //静态的对象
    private static Singleton singleton=new Singleton(); //表示这个对象是唯一的
    //公有的访问方法
    public static Singleton getSingleton(){ //方法要通过类来调用
        return singleton;
    }
}
//懒汉式单例模式
public class Singleton {
    //私有的构造方法
    private Singleton(){
        System.out.println("懒汉式单例模式构建完成");
    }
    //静态的对象
    private static Singleton singleton=null;
    //公有的访问方法
    public static Singleton getSingleton(){
        if (singleton==null){
            singleton=new Singleton();
        }
        return singleton;
    }
}

2.使用场景(作为初学的我并不懂)

  • 对于哪些在创建的过程中占用较多资源,而又必须要用的对象
  • 对系统资源要求统一读写,如读写配置信息
  • 当多个实例存在可能引起程序逻辑错误,如号码生成器
posted @ 2019-11-25 10:12  斯坦尼夫拉夫斯基  阅读(126)  评论(0)    收藏  举报