单例模式(一)—懒汉模式
2022-07-21 本文已影响0人
奔跑的佩恩
前言
单例模式
模式无需多言,就是只允许生成一个对象,这种设计模式在数据库连接对象
的使用上比较频繁,当然在其他场景下也有使用。然而单例模式
的实现也有多种方式,今天就让我们来学习下单例模式的懒汉模式
。
今天涉及内容:
-
懒汉模式
编写的几个特点 -
懒汉模式
代码实现 -
懒汉模式
优缺点
一. 懒汉模式 编写的几个特点
作为单例模式中的懒汉模式
,具有以下特点:
- 私有无参构造函数
- 声明静态私有类对象
- 静态公开获取该类对象的方法,并在该方法中判断为空则创建的处理
二. 懒汉模式 代码实现
具体代码实现方式如下:
/**
* 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,今天关于单例模式的懒汉模式
就介绍到这里了。