Một module vô danh (unnamed module) là khái niệm của package vô danh. Đây là module mà các package hoặc lớp không thể được định nghĩa trong bất kỳ module có tên (named module) nào nhưng tồn tại trong file jar từ classpath. Nếu mã của chúng ta cố gắng tải kiểu từ các file đó, hệ thống module sẽ cố gắng tra cứu classpath và tải nó.
Một module vô danh đọc tất cả các module khác, bao gồm tất cả module có tên, module nền tảng tích hợp (built-in platform), và cũng xuất khẩu (exports) tất cả package của nó. Package trong module vô danh có thể bị bỏ qua, nếu nó cũng được định nghĩa trong module có tên.
Module vô danh có quyền truy cập:
- Tất cả package được xuất khẩu bởi tất cả module khác có sẵn trong module-path.
- Tất cả jar của classpath (tức là tất cả các kiểu khác hiện diện trong module vô danh này).
Cú pháp
java --module-path out -module moduleName/com.tutorialspoint.UnnamedModuleTest
Ví dụ
public class UnnamedModuleTest {
public static void main(String args[]) {
Module module = UnnamedModuleTest.class.getModule();
System.out.println("Module: " + module);
System.out.println("Tên: " + module.getName());
System.out.println("isNamed: " + module.isNamed());
System.out.println("Descriptor: " + module.getDescriptor());
}
}Kết quả
Module: unnamed module @c818063
Tên: null
isNamed: false
Descriptor: null