Kotlin学习笔记之单例创建

来源:互联网 发布:快手文字图片软件 编辑:程序博客网 时间:2024/06/16 13:28

Java创建单例核心代码:

public static CommonHttp getInstance() {        if (commonHttp == null) {            synchronized (CommonHttp.class) {                if (commonHttp == null)                    commonHttp = new CommonHttp();            }        }        return commonHttp;    }

这是一段很金典的Java创建单例代码

使用kotlin创建

companion object {        private var commonHttp: CommonHttp? = null        val instance: CommonHttp            get() {                if (commonHttp == null) {                    synchronized(CommonHttp::class.java) {                        if (commonHttp == null)                            commonHttp = CommonHttp()                    }                }                return commonHttp!!            }    }

这里仍然是使用class.java作为同步锁

这里原理其实是使用kotlin伴生对象来处理,详细可以去了解*companion关键字标记

原创粉丝点击