当前位置:
首页
文章
移动端
详情

单例模式(一)—懒汉模式

前言

单例模式模式无需多言,就是只允许生成一个对象,这种设计模式在数据库连接对象的使用上比较频繁,当然在其他场景下也有使用。然而单例模式的实现也有多种方式,今天就让我们来学习下单例模式的懒汉模式
今天涉及内容:

  1. 懒汉模式编写的几个特点
  2. 懒汉模式代码实现
  3. 懒汉模式优缺点

一. 懒汉模式 编写的几个特点

作为单例模式中的懒汉模式,具有以下特点:

  • 私有无参构造函数
  • 声明静态私有类对象
  • 静态公开获取该类对象的方法,并在该方法中判断为空则创建的处理

二. 懒汉模式 代码实现

具体代码实现方式如下:

/**
 * Title: 单例模式之:懒汉模式
 * 
 * description:
 * autor:pei
 * created on 2022/7/21
 */
class SingletonLazzy {

    private constructor()

    companion object{

        private var instance:SingletonLazzy?=null

        fun getInstance():SingletonLazzy{
            if(instance==null){
                instance=SingletonLazzy()
            }
            return instance!!
        }
    }

    /**测试方法**/
    fun print(message: String) {
        LogUtil.i(message)
    }

}

MainActivity中调用如下:

SingletonLazzy.getInstance().print("====我是测试====")

三. 懒汉模式 优缺点

  • 优点: 懒汉模式的优点是SingletonLazzy类加载的时候,不会被立刻实例化,只有在第一次使用这个实例的时候,才会被实例化,可以相对节省内存占用。
  • 缺点:线程不安全

ok,今天关于单例模式的懒汉模式就介绍到这里了。

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。