类型1:
class TestExample {
object Bell {
fun add(){
}
}
Class B{
TestExample.Bell.add()
}
类型2:
class TestExample {
companion object Bell {
fun add(){
}
}
Class B{
TestExample.add()
}
在类型1和类型2中,哪个是静态示例,哪个是单例示例?两者的行为相似吗?
答案 0 :(得分:2)
来自官方Kotlin docs:
对象声明
如果您需要一个单例-一个只有一个实例的类-您 可以以通常的方式声明该类,但可以使用object关键字 代替班级
伴侣对象
如果您需要将函数或属性绑定到类而不是绑定 到它的实例(类似于Python中的@staticmethod),您可以 在同伴对象中声明它