Java模块系统与Swing框架入门
1. 编译和运行基于模块的服务示例
在完成所有前面的步骤后,可通过执行以下命令来编译和运行示例:
输出结果表明,二进制函数已被定位并执行。需要强调的是,如果 userfuncsimp 模块中的 provides 语句或 appstart 模块中的 uses 语句缺失,应用程序将失败。
2. 模块的其他特性
在结束对模块的讨论之前,还有三个特性需要简要介绍,分别是开放模块、 opens 语句和 requires static 的使用。这些特性旨在处理特定情况,属于模块系统中较为高级的方面。
2.1 开放模块
默认情况下,模块包中的类型只有通过 exports 语句显式导出才能被访问。但在某些情况下,需要在运行时访问模块中的所有包,无论该包是否已导出。这时可以创建开放模块,通过在 module 关键字前加上 open 修饰符来声明:
open module moduleName {
// 模块定义
}
在开放模块中,所有包中的类型在运行时都可访问,但只有显式导出的包在编译时可用。因此, open 修饰符仅影响运行时的可访问性。开放模块的主要目的是允许通过反射访问模块中的包。
超级会员免费看
订阅专栏 解锁全文
169

被折叠的 条评论
为什么被折叠?



