Kotlin中单例Singleton模式
package loaderman.bar class Singlenton private constructor(){ public var value:Singlenton?=null private object mHolder{ val INSTSNCE=Singlenton() } companion object Factory{ fun getInstance():Singlenton{ return mHolder.INSTSNCE } } }
package loaderman import loaderman.demo.Customer import loaderman.demo.Singlenton fun main(arg: Array<String>) { //Singlenton()//编译错误 由于主构造器使用private,无法直接调用主构造器 val instance1 = Singlenton.getInstance() val instance2 = Singlenton.getInstance() println(instance1) println(instance2) }
kotlin与Java实现方式不同主要在于kotlin类不支持静态方法和成员。由于kotlin支持全局函数和变量,因此可以直接使用全局函数和变量来代替静态方法和静态成员变量。
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!
posted on 2018-12-16 10:25 LoaderMan 阅读(1166) 评论(0) 编辑 收藏 举报