专业的编程技术博客社区

网站首页 > 博客文章 正文

Kotlin的单例模式(kotlin yield)

baijin 2024-09-06 14:52:42 博客文章 6 ℃ 0 评论

不积硅步,无以至千里 ----送给正在阅读的你。

kotlin的单例模式与Java有所不同。下面让我们一起看看在kotlin中如何实现单例。

1.懒汉式

定义一个普通类,然后在内部定义伴生对象。伴生对象内部的属性与方法,类似于静态。可以直接被调用。

class Singletion private constructor() {
    //伴生对象
    companion object{
       private var  instance :Singletion?=null
        get() {
            if (field==null){
                field = Singletion()
            }
            return field
        }
       
        fun getInstanceSingletion() = instance!!

    }
}

2.饿汉式

Object定义的类为单例类

Object Singletion

3.懒汉式+双重校验

通过懒加载的形式进行模式声明 mode = LazyThreadSafetyMode.SYNCHRONIZED。

class Singletion private constructor(){
companion object{
    val instance:Singletion by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED)
    {
      Singletion()
    }
     }
} 

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表