首页 > 解决方案 > 类中的对象与伴随对象

问题描述

Factory和有什么不同Factory2?他们似乎都在做同样的事情。

data class Car(val horsepowers: Int) {
companion object Factory {
    val cars = mutableListOf<Car>()

    fun makeCar(horsepowers: Int): Car {
        val car = Car(horsepowers)
        cars.add(car)
        return car
    }
}
object Factory2 {
    val cars = mutableListOf<Car>()
    fun makeCar(horsepowers: Int): Car {
        val car = Car(horsepowers)
        cars.add(car)
        return car
    }
}
}

标签: kotlin

解决方案


伴随对象是一种特定类型的对象声明,它允许对象的行为类似于其他语言(例如 Java)中的静态对象。即使 Kotlin 中不存在实际的静态概念,向对象声明添加伴侣也允许向对象添加“静态”功能。


推荐阅读