Java 9 中的未命名模块是什么?
javaobject oriented programmingprogramming
未命名模块是未命名包的概念。它是一个模块,其中的包或类不能在任何命名模块中定义,但存在于类路径中的jar 文件中。如果我们的代码可以尝试从这些文件中加载类型,模块系统将尝试查找类路径并加载它。
未命名模块会读取所有其他模块,包括所有命名、内置平台模块,并导出其所有包。未命名模块中的包可以忽略,它也在命名模块中定义。
未命名模块可以访问:
- 由模块路径中可用的所有其他模块导出的所有包。
- 类路径的所有 jar(即此未命名模块中存在的所有其他类型)。
语法
java --module-path out -module moduleName/com.tutorialspoint.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