kotlin - 类中的对象与伴随对象
问题描述
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
}
}
}
解决方案
伴随对象是一种特定类型的对象声明,它允许对象的行为类似于其他语言(例如 Java)中的静态对象。即使 Kotlin 中不存在实际的静态概念,向对象声明添加伴侣也允许向对象添加“静态”功能。
推荐阅读
- batch-file - 查找命令
- node.js - Express-Handlebars 在 div 中渲染文件
- reactjs - reactjs 如何将一个页面重定向到另一个页面?
- delphi - 3rd 方 dll 中未处理的 delphi 异常
- dependency-injection - 用于谷歌 guice 注入的 Junit
- apache-spark - 我可以告诉 spark.read.json 我的文件被压缩了吗?
- android - 从 Google Play 商店升级应用,显示为“打开”
- apache-spark - 在 ElasticSearch 中将 Spark DateType 字段索引为日期
- unicode - 我可以在单独的第 3 方 CSS 文件中引用字体吗?
- apache-spark - 使用 spark-submi 无法从 hive 中找到表