【发布时间】:2016-06-25 03:44:52
【问题描述】:
在 Java 中,我们为类提供了 package protected(默认)修饰符,它允许我们在一个包中拥有多个类,但只公开少数几个类并保持逻辑封装。
对于 Kotlin,情况似乎并非如此。如果我想让一些类彼此可见但不再可见,我必须使用私有修饰符来限制对单个文件的可见性。
因此,如果您希望一个包中有 10 个类,但只有其中一个是公开的,那么您必须拥有一个包含所有类的大文件(并且到处都是 private)。
这是正常的做法还是有办法在 Kotlin 中实现一些类似的模块化?
我不明白:如果他们有包的概念,为什么他们要摆脱包保护访问?
更新:毕竟我们可能拥有包保护的可见性
see the discussion here
更新:如果您阅读讨论后仍然认为这是该语言的必备功能,请投票here
【问题讨论】:
-
更多讨论链接:discuss.kotlinlang.org/t/…
-
有一个包私有可见性或等效项的功能请求:KT-29227。
-
Kotlin 提供
internal -
internal 是非常不同的事情,如果我使用 internal 来替换包可见性 id 有 200 个模块
标签: visibility kotlin