Kotlin-私有伴随对象中私有变量的意义是什么?
假设我有课
class Foo {
private companion object {
private val hello = "world"
}
}
Foo.hello如果伴随对象已经是私有的,那么私有化有什么意义吗?
回答
我认为没有实际区别:hello可以在 内部的任何地方访问Foo,但不能在其外部的任何地方访问,无论它是否是私有的。
但是,您可能会发现将其设为私有会使情况更加清晰,尤其是当伴随对象很大时。你可能会发现它澄清了意图。?并且它确保hello无法在外部访问,即使后来将伴随对象更改为非私有。?所以在风格上略有不同。