目录
通过单例模式可以保证系统中,一个类只有一个实例。
object单例对象
Kotlin中没有静态属性和方法。
Kotlin使用 object 关键字声明一个object单例对象。
object User { // 声明对象类型User
var name:String = "Tyler"
var age:Int = 19
fun say(): Unit {
println("Hello, I'm $name !")
}
}
fun testObj(): Unit {
println(User.name) // 与Java的静态调用一样
println(User.age)
User.say()
User.age++
println(User.age) // 输出:20
println(User::class) // 输出:class basic.User
}
伴生对象
Kotlin使用 companion object 关键字声明 伴生对象。
一个类只能有一个伴生对象。
open class UserGroup {
companion object Group { // 声明 UserGroup的伴生对象
fun info(): Unit {
println("I'm a UserGroup ~")
}
}
}
fun testCompanionObj(): Unit {
UserGroup.Group.info() // 输出:I'm a UserGroup ~
UserGroup.info() // 输出:I'm a UserGroup ~
println(UserGroup.Group::class) // 输出:class basic.UserGroup$Group
}
本文介绍了Kotlin中的两种单例实现方式:object单例对象和伴生对象。object单例在Kotlin中用于创建全局唯一的实例,而伴生对象则提供了一种类级别的单例,同时可以拥有类的方法和属性。通过示例代码展示了如何声明和使用这两种单例,以及它们的调用方式。
1560

被折叠的 条评论
为什么被折叠?



