我是靠谱客的博主 玩命微笑,最近开发中收集的这篇文章主要介绍java 打破封装_Java 9 揭秘(9. 打破模块封装),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Tips

做一个终身学习的人。

30fbd925c408487656e60c042c7acc12.png

在此章节中,主要介绍以下内容:

什么是打破模块的封装

如何使用命令行选项将依赖项(添加需要)添加到模块

如何使用--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. 打破模块封装)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部