【发布时间】:2020-07-19 20:35:21
【问题描述】:
我想知道何时应该使用顶级 const 以及何时使用伴生对象?如果财产是私有的还是公共的,我应该考虑使用什么?
const val URI = "sdfsdfsdf"
或者我应该使用:
companion object {
const val URI = "sdfsdfsdf"
}
当我们处理可见性时,使用什么重要吗?
【问题讨论】:
-
我更喜欢在顶层使用常量,但我不知道是否所有插件,但一些插件计算测试覆盖率使用 .class 文件,但是当你使用 const 声明时在一个类的顶层,它在内部创建了一个 kt 类,因此覆盖率降低了,因为对于插件来说,该类有两个部分 = .class 和另一个 .kt,而 kt 的覆盖率是 0% xD跨度>
-
一个伴生对象是一个单例,换句话说,全局可访问并且到处都是单个实例,所以我不知道它们之间是否有任何区别,因为它们具有几乎相同的属性。但为了简单起见,我更喜欢顶级
-
性能方面怎么样?