据说可以使用类名而不是类对象访问静态函数。但我可以使用类名和同类对象来访问静态函数。
哪种方式正确?
答案 0 :(得分:0)
它是特定语言的实现细节。类足以访问静态方法,因此不需要对象; class可以直接或隐式地从对象中推导出来。后者实际上是一种语法糖,可以选择由语言提供。
答案 1 :(得分:0)
理论上,您可以使用实例标识符和类型标识符来调用静态方法。
当您想要获取静态方法的地址时,情况可能会发生变化。有些语言在使用&Type.staticMethod
时只返回一个简单的指针,在使用&instance.staticMethod
时只返回一个胖指针。