单例设计模式
什么是设计模式
设计模式是针对软件设计中反复出现的问题 总结出的一套可复用、可扩展、易维护的通用解决方案
单例模式
假设A类是个单例类
那就要知道 通过A拿对象 拿到的永远都是同一个对象
单例的实现方式很多 比如饿汉单例模式 懒汉单例模式等等
饿汉单例
一定要把构造器私有化
要获取的单例对象 随着单例类SingleInstance类加载的时候 就已经完成实例化
具体实现:执行到Hungry.instance 用类名去拿静态资源的时候
肯定已经完成Hungry的类加载 与此同时 instance对象就同步地实例化了且静态变量只加载一次 所以每次.instance拿到的都是同一个对象
懒汉单例
在真正需要单例对象的时候 才去创建一个对象(延迟加载对象)
懒汉单例最好把静态的单例对象也私有化 防止可能用类名.的方式直接拿到一个null
具体实现:s1想获取对象的时候 判断是null 则进去new一个
而到了s2 s3的时候 不进去 直接返回之前new的对象
所以永远只会有同一个对象(输出结果表明 构造器也只被调用了一次)
一种错误写法:每次调用此方法 new出来的都是新的对象
所以需要if判断








