Kotlin之单例模式

单例模式 懒汉式

    class XxxUtils private constructor(){
    
        companion object {
            val instance: XxxUtils by lazy { XxxUtils() }
        }
        
        fun xxx(){
            
        }
    }

在kotlin中调用

XxxUtils.xxx()

在java中调用

XxxUtils.companion.xxx()

Lazy 延迟属性默认是线程安全的

饿汉式

    object XxxUtils{
        
    }

// Kotlin 中调用

XxxUtils.xx()

// Java 中调用

XxxUtils.INSTANCE.xx()

小结

内存占用低时,可以选择 object 声明的饿汉式单例模式,简单有效;如果初始化时需要额外的操作或者实例资源消耗大时,推荐 Lazy 延迟属性的懒汉式单例模式。


支付宝发红包啦!即日起还有机会额外获得余额宝消费红包!长按复制此消息,打开最新版支付宝就能领取!q1iF0j95U0


微信图片_20180712133728.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容