kotlin中哪个是静态的,哪个是单态的?

kotlin中哪个是静态的,哪个是单态的?,kotlin,Kotlin,类型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和类型

类型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中,哪个是静态示例,哪个是单例示例?两者行为相似,对吗

来自官方科特林:

对象声明

如果您需要一个单例(一个只有一个实例的类),您可以 可以用通常的方式声明类,但要使用object关键字 而不是课堂

伴生对象

如果需要将函数或属性绑定到类而不是 对于它的实例(类似于Python中的@staticmethod),您可以 在同伴对象中声明它

来自官方Kotlin:

对象声明

如果您需要一个单例(一个只有一个实例的类),您可以 可以用通常的方式声明类,但要使用object关键字 而不是课堂

伴生对象

如果需要将函数或属性绑定到类而不是 对于它的实例(类似于Python中的@staticmethod),您可以 在同伴对象中声明它


可能重复:另外,学习如何读取字节码,从而观察每个字节码之间的差异:可能重复:另外,学习如何读取字节码,从而观察每个字节码之间的差异: