一个类只有一个实例,并且提供一个访问该实例的全局访问点;分为懒汉模式和饿汉模式;

    **

    1. public class Singleton {
    2. private Singleton() {} //私有构造函数
    3. private static Singleton instance = null; //单例对象
    4. //静态工厂方法
    5. public static Singleton getInstance() {
    6. if (instance == null) {
    7. instance = new Singleton();
    8. }
    9. return instance;
    10. }
    11. }

    1.要想让一个类只能构建一个对象,自然不能让它随便去做new操作,因此Signleton的构造方法是私有的。

    2.instance是Singleton类的静态成员,也是我们的单例对象。它的初始值可以写成Null,也可以写成new Singleton()。至于其中的区别后来会做解释。

    3.getInstance是获取单例对象的方法


    懒汉模式:如果单例初始值是null,还未构建,则构建单例对象并返回。(等吃的)

    饿汉模式:如果单例对象一开始就被new Singleton()主动构建,则不再需要判空操作(找吃的)

    https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653192251&idx=2&sn=4acce2985ab4fcc908235891c9213628&chksm=8c99f2e1bbee7bf7f64132bb58d3023f79b3c11fe2043dcd29fe07f4ddb5b3c7d375252d8555&mpshare=1&scene=24&srcid=0916xp4aiTJhqr6qMxt3xF6g&sharer_sharetime=1600240782530&sharer_shareid=736efe25383aca6aa354dfed13086df8#rd

    1. public enum SingletonEnum {
    2. INSTANCE;
    3. }