单例设计模式

Posted csyh

tags:

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

采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只能提供一个取得其对象实例的方法;单例模式能减少系统开销

饿汉式(调用即加载对象,损耗程序初运行资源)

class Demo{
    //1.私有化类的构造器,不允许外部对本类进行实例化
    private Demo(){}
    //2、生成实例并赋值给静态引用
    private static Demo instance = new Demo();
    //3、声明返回实例的方法
    public static void getInstance(){
        return instance;
    }
}

懒汉式(延迟对象的创建,降低程序初运行的资源占用;但,线程是不安全的)

class Demo{
    //1.私有化类的构造器,不允许外部对本类进行实例化
    private Demo(){}
    //2、声明一个静态的本类类型的引用变量,用于指向本类实例
    private static Demo instance = null;
    //3、声明返回本类实例的静态方法
    public static Demo getInstance(){
        if(instance == null){
            //判断引用为空就创建本类实例并赋值给引用
            instance = new Demo();
        }
        return instance;
    }
}

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

常用代码片段

性能比较好的单例写法

片段作为 Android 中的单例

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

从 Viewpager2 片段访问父片段函数

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