在Java 9中,moduleinfo文件中的"export"子句有什么用途?

2023年 9月 3日 30.9k 0

在Java 9中,module-info文件中的"export"子句有什么用途?

模块是代码和数据的组合,它有一个名称,声明对其他模块的依赖关系模块,导出包含可在该模块外部访问的公共类型的包,并指定它使用的服务或它提供的服务实现。所有这些都在 module-info.java 文件中指定,该文件包含在模块的根目录中。

有两种类型的“export”子句可以在“module-info.java”文件中使用。

1) 导出: 默认情况下,模块的类型 public 在模块外部不再可见。为了使给定包的公共类型对其他模块可见,我们必须导出此包。我们必须记住,我们处于包级别,而不是类型的单元级别。但是,子包不会导出。

我们需要允许其他模块使用包tp.com.tutorialspoint.model的类和接口,我们可以这样写:

module com.tutorialspoint.model {
exports tp.com.tutorialspoint.model;
}

登录后复制

了解一个包只能出现在一个模块中这一点非常重要。否则,我们会得到如下错误:

Error:(1, 1) java: package exists in another module:

登录后复制

2) 将导出到:我们可以加强我们的安全性通过将某些包的可见性减少到有限的模块列表来模块:只有列出的模块才能访问这些类。

module com.tutorialspoint.model {
exports tp.com.tutorialspoint.model
to com.tutorialspoint.gui;
}

登录后复制

以上就是在Java 9中,module-info文件中的"export"子句有什么用途?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论