Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class Kotlin-私有同伴对象中的私有变量有什么意义?_Class_Kotlin_Static_Private - Fatal编程技术网

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
不能在外部访问,即使随后同伴对象被更改为非私有对象。  所以在风格上有一些细微的差别