作者回复: 很抱歉出现了这个疏漏,我会改过来。也真心感谢你指出了这个问题,你让这个课程变得更好了。
作者回复: 不错的思路~
作者回复: 赞~
作者回复: 不错的思路~
作者回复: 首先,感谢这位同学能提出这么多有趣的见解,这里我一一回复: 第一点:站在Kotlin语法层面,“伴生对象”跟“静态”已经是语法等价了。 第二点:这也是语法层面上的推导,只是说它们语法发展上的关系。另外,伴生对象确实是单例,只是我们一般不这么用。(我提供的反编译代码中public的构造方法只有编译器才能访问,我们开发者是无法直接调用的。) 第三点:确实说【拷贝】更合适。 第四点:【伴生对象 + @JvmStatic】,它的意义在于让Java调用Kotlin的时候更友好。
作者回复: 是的。
作者回复: 字节码反编译成Java其实也是有损的。
作者回复: 嗯,不错的思路。
作者回复: 由于companion无法单独使用,如果要对比“companion object”与“object”,那么它们之间的差异,就在于字节码上的这些变化了。
作者回复: 因为@JvmStatic是用来修饰静态成员的啊,你想想是不是?