Java 9中的未命名模块是什么?

的无名 模块 是一个概念无名 包。它是一个模块,其中不能在任何命名的 模块中 定义包或类,而在类路径的 jar文件中存在。如果我们的代码可以尝试从这些文件中加载类型,则模块系统将尝试查找并加载类路径 。

一个不愿透露姓名的 模块 读取所有其它模块,包括所有的命名, 内置平台模块,并且还出口其所有的包。可以忽略未命名模块中的软件包,该软件包也在已命名模块中定义。

未命名的模块可以访问:

  • 所有其他模块导出的所有软件包在模块路径中可用。

  • 类路径的所有jar(即此未命名模块中存在的所有其他类型)。

语法

java --module-path out -module moduleName/com.nhooo.UnnamedModuleTest

示例

public class UnnamedModuleTest {

   public static void main(String args[]) {

      Module module = UnnamedModuleTest.class.getModule();

      System.out.println("Module: "+ module);

      System.out.println("Name: " + module.getName());

      System.out.println("isNamed: " + module.isNamed());

      System.out.println("Descriptor: " + module.getDescriptor());

   }

}

输出结果

Module: unnamed module @c818063

Name: null

isNamed: false

Descriptor: null

以上是 Java 9中的未命名模块是什么? 的全部内容, 来源链接: utcz.com/z/354982.html

回到顶部