概述
Tips
做一个终身学习的人。
在此章节中,主要介绍以下内容:
什么是打破模块的封装
如何使用命令行选项将依赖项(添加需要)添加到模块
如何使用--add-exports命令行选项导出模块的未导出包,并使用可执行JAR的MANIFEST.MF文件
如何使用--add-opens命令行选项并使用可执行JAR的MANIFEST.MF文件打开模块的非开放包
如何使用--add-reads命令行选项增加模块的可读性
一. 什么是打破模块的封装
JDK 9的主要目标之一是将类型和资源封装在模块中,并仅导出其他模块要访问其公共类型的软件包。 有时,可能需要打破模块指定的封装,以启用白盒测试或使用不受支持的JDK内部API或类库。 这可以通过在编译时和运行时使用非标准命令行选项来实现。 具有这些选项的另一个原因是向后兼容性。 并不是所有现有的应用程序将完全迁移到JDK 9并将被模块化。 如果这些应用程序需要使用以前是公开的但已经封装在JDK 9中的库提供的JDK API或API,则这些应用程序有一种方法可以继续工作。 其中一些选项具有可以添加到可执行JAR的MANIFEST.MF文件中的对应属性,以避免使用命令行选项。
Tips
使用Module API也可以使用每个命令行选项来打破模块的封装。
虽然可能听起来像这些选项与JDK 9之前的操作相同,但是在访问JDK内部API时没有任何限制。 如果模块中的软件包未导出或打开,则表示模块的设计人员无意在模块
最后
以上就是玩命微笑为你收集整理的java 打破封装_Java 9 揭秘(9. 打破模块封装)的全部内容,希望文章能够帮你解决java 打破封装_Java 9 揭秘(9. 打破模块封装)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复