Kotlin - 私有伴随对象中的私有变量有什么意义?
Kotlin - What is the point of private variables inside private companion objects?
假设我有 class
class Foo {
private companion object {
private val hello = "world"
}
}
如果伴随对象已经是私有的,那么将 Foo.hello
设为私有有什么意义吗?
我认为没有实际区别:hello
可以在 Foo
内部的任何地方访问,但在它之外的任何地方都可以访问,无论它是否私有。
但是,您可能会发现将其设为私有会使情况更加清晰,尤其是在伴随对象很大的情况下。您可能会发现它阐明了意图。并且它保证了 hello
不能被外部访问,即使后来将伴随对象更改为非私有。所以风格略有不同。
假设我有 class
class Foo {
private companion object {
private val hello = "world"
}
}
如果伴随对象已经是私有的,那么将 Foo.hello
设为私有有什么意义吗?
我认为没有实际区别:hello
可以在 Foo
内部的任何地方访问,但在它之外的任何地方都可以访问,无论它是否私有。
但是,您可能会发现将其设为私有会使情况更加清晰,尤其是在伴随对象很大的情况下。您可能会发现它阐明了意图。并且它保证了 hello
不能被外部访问,即使后来将伴随对象更改为非私有。所以风格略有不同。