有哪些做兼职的设计网站有哪些/今日头条权重查询
kotlin用object实现单例模式,companion object与java静态
kotlin中很容易使用object实现java中的单例模式。由于kotlin中没有static修饰词,可以用companion object实现Java中的static效果。
//object相当于java的单例
object Singleton {var count: Int = 0fun out(msg: String? = "zhang") {println("$msg -- $count")count++}
}class MyClass {//相当于java的static finalcompanion 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只初始化一次。