使用关键字ojbect
,在Kotlin使单例声明变得很容易:
像这样
object Singleton {
fun registerName(name: String) {
// ……
}
val allUserName: Collection<String>
get() = // ……
}
这样一个单例就完成了.
这称为对象声明。并且它总是在 object 关键字后跟一个名称。 就像变量声明一样,对象声明不是一个表达式,不能用在赋值语句的右边。
对象声明的初始化过程是线程安全的。
如需引用该对象,我们直接使用其名称即可:
像这样
Singleton.registerName("superMan")
这些对象可以有超类型:
像这样
object Singleton: SingletonFather() {
fun registerName(name: String) {
// ……
}
object
两个用法:对象表达式,对象声明。(核心是标记对象)
用一句话说object
的使用就是标记了一个代码块
是一个对象。使用时不用再创建(或叫new)对象。
网友评论