Kotlin单例模式使用案例

Kotlin单例模式

1、kotlin的object就是一个单例模式,所有字段都是static静态,方法不是静态
2、Java可以控制非静态或静态的方法
3、kotlin没有static关键字,使用companion object半生对象进行处理
4、lazy 表示惰性加载,使用才进行加载

package com.kotlin.flong.base
/**
 * 单例模式
 */
fun main(args :Array){
     println(UserInfo.userName) //表示静态的属性
}
object DanLi {
}

//定义一个私有的构造方法
class UserInfo private constructor(){
    //非静态
    var age =20 
    //半生静态对象,控制非静态或静态的属性或方法
    companion object{
        //静态
        var userName = "liangjl"
        //单例方法,返回对象为UserInfo,惰性加载,并且且是线程安全
        val instance :UserInfo by lazy {UserInfo()}
    }
}

你可能感兴趣的:(Kotlin单例模式使用案例)