【发布时间】:2021-07-08 00:31:48
【问题描述】:
假设我有课
class Foo {
private companion object {
private val hello = "world"
}
}
如果伴随对象已经是私有的,那么将 Foo.hello 设为私有有什么意义?
【问题讨论】:
标签: class kotlin static private
假设我有课
class Foo {
private companion object {
private val hello = "world"
}
}
如果伴随对象已经是私有的,那么将 Foo.hello 设为私有有什么意义?
【问题讨论】:
标签: class kotlin static private
我认为没有实际区别:hello 可以在 Foo 内部的任何地方访问,但在它之外的任何地方都不能访问,无论它是否是私有的。
但是,您可能会发现将其设为私有会使情况更加清晰,尤其是在伴随对象很大的情况下。您可能会发现它阐明了意图。并且它确保hello 不能被外部访问,即使伴生对象后来被更改为非私有的。所以风格上略有不同。
【讨论】: