Class Kotlin-私有同伴对象中的私有变量有什么意义?
假设我上课Class Kotlin-私有同伴对象中的私有变量有什么意义?,class,kotlin,static,private,Class,Kotlin,Static,Private,假设我上课 class Foo { private companion object { private val hello = "world" } } 如果伴生对象已经是私有的,那么将Foo.hello设置为私有有什么意义吗?我认为没有实际区别:hello可以在Foo内的任何地方访问,但无论它是否私有,都不能在它之外访问 但是,您可能会发现,将其设置为私有会使情况更清楚,尤其是当伴星对象较大时。 你可能会发现它澄清了意图。 而且它确保了
class Foo {
private companion object {
private val hello = "world"
}
}
如果伴生对象已经是私有的,那么将
Foo.hello
设置为私有有什么意义吗?我认为没有实际区别:hello
可以在Foo
内的任何地方访问,但无论它是否私有,都不能在它之外访问
但是,您可能会发现,将其设置为私有会使情况更清楚,尤其是当伴星对象较大时。 你可能会发现它澄清了意图。 而且它确保了
hello
不能在外部访问,即使随后同伴对象被更改为非私有对象。 所以在风格上有一些细微的区别。我不认为有什么实际的区别:hello
可以在Foo
内的任何地方访问,但在它之外的任何地方都不能访问,不管它是否是私有的
但是,您可能会发现,将其设置为私有会使情况更清楚,尤其是当伴星对象较大时。 你可能会发现它澄清了意图。 而且它确保了hello
不能在外部访问,即使随后同伴对象被更改为非私有对象。 所以在风格上有一些细微的差别