单例设计模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例设计模式相关的知识,希望对你有一定的参考价值。

单例设计模式:保证一个类在内存中只有一个对象


饿汉单例设计模式:
    1、私有化构造函数
    2、声明本类的引用类型变量,并且使用该变量指向本类对象。
    3、提供一个公共静态的方法获取本类的对象

class Single(){
    private static Single single = new Single();
    
    private Single (){}
    
    public static Single getInstance(){
        return single;
    }
}

懒汉单例设计模式:
    1、私有化构造函数
    2、声明本类的引用类型变量,但是不要创建对象。
    3、提供公共静态的方法获取本类的对象,获取之前先判断是否已经创建了本类对象,如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象然后再返回。

class Single2(){
    private static Single2 single2;
    private Single2(){}
    public static Single2 getInstance(){
        if(s == null){
            s = new Single2();
        }
        return s;
    }
}

推荐使用:饿汉单例设计模式,懒汉设计模式存在线程安全问题(后期学习怎么解决)

以上是关于单例设计模式的主要内容,如果未能解决你的问题,请参考以下文章

常用代码片段

性能比较好的单例写法

片段作为 Android 中的单例

单例片段或保存网页视图状态

从 Viewpager2 片段访问父片段函数

你熟悉的设计模式都有哪些?写出单例模式的实现代码