kotlin用object实现单例模式,companion object与java静态
Posted zhangphil
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin用object实现单例模式,companion object与java静态相关的知识,希望对你有一定的参考价值。
kotlin用object实现单例模式,companion object与java静态
kotlin中很容易使用object实现java中的单例模式。由于kotlin中没有static修饰词,可以用companion object实现Java中的static效果。
//object相当于java的单例
object Singleton
var count: Int = 0
fun out(msg: String? = "zhang")
println("$msg -- $count")
count++
class MyClass
//相当于java的static final
companion object
fun mymethod()
println("方法 - $object .javaClass.enclosingMethod.name")
fun main(args: Array<String>)
Singleton.out()
Singleton.out()
Singleton.out()
MyClass.mymethod()
输出:
zhang -- 0
zhang -- 1
zhang -- 2
方法 - mymethod
可以看到object定义的Singleton只初始化一次。
以上是关于kotlin用object实现单例模式,companion object与java静态的主要内容,如果未能解决你的问题,请参考以下文章