Kotlin 中的类、对象及相关特性
一、伴生对象(Companion Object)
1.1 跟踪类实例数量
在 Kotlin 里,我们能够借助伴生对象来追踪某个类创建的实例数量。以下是一个示例:
class Car {
init {
count++;
}
companion object {
var count:Int = 0
private set
}
}
在这个例子中, count 属性被定义在伴生对象里,并且设置了私有 setter。如此一来,就可以防止在类外部对计数器进行修改。类能够访问伴生对象中定义的所有方法和属性,不过伴生对象无法访问类的内容。可以直接使用类名来访问伴生对象的实例。
1.2 伴生对象的实例化
伴生对象是由伴生类创建的单例,并保存在其静态属性中。伴生对象的实例化是惰性的,这意味着它会在首次需要时进行实例化,也就是在访问其成员或者创建包含该伴生对象的类的实例时。下面是一个示例:
class Car {
init {
count++;
println("Car created")
}
companion object {
var count: Int = 0
init {
println("Car compan
超级会员免费看
订阅专栏 解锁全文
1903

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



