美文网首页
kotlin单例模式

kotlin单例模式

作者: Method | 来源:发表于2021-06-07 16:55 被阅读0次

    饿汉式

    Kotlin中类没有静态方法,kotlin可以把类声明为一个对象,该对象与其他语言的静态成员是类似

    object Single {
        fun logMsg(){
            println("this is a msg")
        }
    }
    
    

    懒汉式

    class Single1 private constructor(){
        companion object{
            private var instance:Single1? = null
            fun getInstance():Single1{
                if(instance == null){
                    instance = Single1()
                }
                return instance!!
            }
        }
    }
    

    双重校验

    // 双重校验
    class Single2{
        companion object{
            val instance by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { Single2() }
        }
    }
    

    静态内部类

    // 静态内部类
    class Single3{
        companion object{
            fun getInstance():Single3{
                return Inner.instance
            }
        }
        private object Inner{
            val instance = Single3()
        }
    }
    

    相关文章

      网友评论

          本文标题:kotlin单例模式

          本文链接:https://www.haomeiwen.com/subject/zzgteltx.html