gpt4 book ai didi

kotlin - Kotlin 中的 "package"和 "module"有什么区别?

转载 作者:行者123 更新时间:2023-12-02 11:59:14 30 4
gpt4 key购买 nike

就 Kotlin 而言,包和模块有什么区别?

对于顶级代码的可见性修饰符,internal修饰符只允许同一模块内的代码的可访问性。这使得包和模块看起来是一回事,但我不确定。

问题 here没有回答我的问题,因为它没有将模块和包置于同一上下文中。

最佳答案

简答:包收集相关类,大致对应目录;而模块是更高级别的并且对应于项目和/或编译器运行。

更长的答案:

在 Java 和 Kotlin 中,类被安排在包中。它们是使用 package 设置的每个文件顶部的指令。 (在 Java 中,这与存储它们的目录结构完全对应;这在 Kotlin 中也很常见,尽管不是严格要求。)

它们提供了一种对相关类进行分组的方式:您可以直接引用同一个包中的类(以及顶级函数和字段),而所有其他类都需要为import。 ed,或使用它们的完全限定名称(package.package…class)。在最新版本的 Java 中,您可以“密封”一个包,这意味着以后没有其他人可以向其添加类。

另一方面,模块对于 Kotlin 来说是新的。它们是一个更高级别的概念,将程序或库中的所有类收集在一起。 (一些 IDE 和工具将其称为“项目”或“源集”。)模块中的所有文件必须一起编译,结果通常收集到 .jar(或 .war)文件中。

一个大系统可能由几个模块组成,但每个模块可能包含数十个包。

关于kotlin - Kotlin 中的 "package"和 "module"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57531779/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com