kotlin单例模式

版权声明:本文为博主原创文章,未经允许不得转发 https://blog.csdn.net/fengchen0123456789/article/details/85251422

创建

这里没有直接使用object方式,因为使用此方式的变量都是静态的

/**
 * kotlin 单例模式
 */
class SingletonTest private constructor(){

    /*
     * 注意: 在 companion object 里面的都是静态变量
     */

    // 创建线程安全的单例,lazy是惰性加载
    companion object {

        val instance by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { SingletonTest() }

    }

}

调用

java调用

SingletonTest singletonTest = SingletonTest.Companion.getInstance();

kotlin调

 var singletonTest:SingletonTest = SingletonTest.instance

猜你喜欢

转载自blog.csdn.net/fengchen0123456789/article/details/85251422