单例模式?
该类只有一个实例, 并提供一个方式获取该实例
实现
方式一: 属性挂在实现
1. 创建一个 当前类 类型的 属性, new一个该类实例挂载到该属性1. 使用 private 和 [statice](https://www.yuque.com/sanyanliangyu/mlsx1n/ex3n70) 修饰 (private: 保护该属性的安全,避免被赋值 statice: 确保该属性只有一份)1. 提供一个**static方法** 返回该属性 (该方法命名规约: getSingleTon 或 newInstance)
package singleTon;public class SingleTon {private static SingleTon single = new SingleTon();public static SingleTon getInstance() {return single;}}
SingleTon s1 = SingleTon.getInstance();SingleTon s2 = SingleTon.getInstance();System.out.println(s1 == s2); // trueSystem.out.println(s1.equals(s2)); // true
饿汉式: 立即加载, 该类在加载时就被创建了, 立即创建但不会立即使用, 占用资源
1. 私有的构造方法1. 私有静态当前类对象作为属性1. 公有静态方法返回当前类对象
方式二: 懒汉式, 用的时候在创建, 不用不创建
package singleTon;public class SingleTon {private static SingleTon single;public static SingleTon getInstance() {if(single == null){single = new SingleTon();}return single;}}
方式 …(未完待续)
参考资料: 链接
say: 设计模式是 经过多次迭代优化出来 解决某些问题的方案, 实现方式不唯一, 不同实现方式具有不同的优缺点
**
