Kotlin单例模式
1、kotlin的
object
就是一个单例模式,所有字段都是static静态,方法不是静态
2、Java可以控制非静态或静态的方法
3、kotlin没有static
关键字,使用companion object半生对象
进行处理
4、lazy 表示惰性加载,使用才进行加载
package com.kotlin.flong.base
/**
* 单例模式
*/
fun main(args :Array<String>){
println(UserInfo.userName) //表示静态的属性
}
object DanLi {
}
//定义一个私有的构造方法
class UserInfo private constructor(){
//非静态
var age =20
//半生静态对象,控制非静态或静态的属性或方法
companion object{
//静态
var userName = "liangjl"
//单例方法,返回对象为UserInfo,惰性加载,并且且是线程安全
val instance :UserInfo by lazy {UserInfo()}
}
}
网友评论