Jis*_*sip 7 visibility module package kotlin
就 Kotlin 而言,包和模块有什么区别?
当涉及顶级代码的可见性修饰符时,internal修饰符只允许同一模块内的代码可访问性。这使得包和模块看起来是一回事,但我不确定。
这里的问题没有回答我的问题,因为它没有将模块和包置于同一上下文中。
gid*_*dds 11
简答:包收集相关类,大致对应目录;而模块是一个更高的级别,对应于项目和/或编译器运行。
更长的答案:
在 Java 和 Kotlin 中,类被排列成包。它们是使用package每个文件顶部的指令设置的。(在 Java 中,这完全对应于存储它们的目录结构;这在 Kotlin 中也很常见,尽管不是严格要求的。)
它们提供了一种对相关类进行分组的方法:您可以直接引用同一个包中的类(以及顶级函数和字段),而所有其他类都需要进行imported,或者它们的完全限定名称(package . package ... class) 用过的。在最新版本的 Java 中,您可以“密封”一个包,这意味着以后没有其他人可以向它添加类。
另一方面,模块对于 Kotlin 来说是新的。它们是一个更高级别的概念,将程序或库中的所有类集合在一起。(一些 IDE 和工具称之为“项目”或“源集”。)模块中的所有文件必须一起编译,结果通常收集到一个 .jar(或 .war)文件中。
一个大系统可能由少数模块组成,但每个模块都可能包含数十个包。
| 归档时间: |
|
| 查看次数: |
2087 次 |
| 最近记录: |