ใน Java 9 มีการแนะนำแนวคิดของโมดูล เป็นคอลเลกชันที่มีชื่อและอธิบายตนเองของ รหัส และ ข้อมูล . รหัสสามารถจัดเป็นชุดของ แพ็คเกจ มีประเภทเช่น java คลาส และ อินเทอร์เฟซ และข้อมูลรวมถึง ทรัพยากร และข้อมูลคงที่ประเภทอื่นๆ โมดูลประกอบด้วย ชื่อ , การพึ่งพา และ ส่งออก แพ็คเกจ .
ไวยากรณ์
module com.tutorialspoint.mymodule { // some statements }
ในตัวอย่างด้านล่าง เราสามารถแสดงชื่อโมดูลทั้งหมดได้โดยใช้ ModuleLayer ชั้นเรียน
ตัวอย่าง
public class AllModulesNamesTest { public static void main(String args[]) { ModuleLayer.boot().modules().forEach((module) -> { System.out.println(module.getName()); }); } }
ผลลัพธ์
jdk.security.jgss jdk.jartool javafx.swing java.security.sasl jdk.plugin.dom jdk.dynalink jdk.javaws jdk.internal.opt java.desktop jdk.snmp javafx.media javafx.web jdk.jsobject jdk.javadoc java.security.jgss jdk.compiler oracle.net jdk.deploy jdk.crypto.mscapi jdk.jstatd jdk.crypto.cryptoki jdk.accessibility java.sql.rowset java.prefs java.instrument jdk.jconsole jdk.scripting.nashorn jdk.internal.le java.xml jdk.packager javafx.base java.compiler jdk.localedata jdk.editpad jdk.management.jfr jdk.plugin jdk.packager.services java.naming jdk.security.auth java.datatransfer javafx.graphics jdk.xml.dom javafx.fxml jdk.zipfs oracle.desktop jdk.jdeps jdk.net jdk.internal.ed jdk.internal.jvmstat jdk.management.agent jdk.jshell java.sql java.scripting java.se jdk.naming.dns jdk.jdwp.agent jdk.jfr jdk.management jdk.charsets java.base jdk.jdi jdk.unsupported java.xml.crypto jdk.attach jdk.management.resource java.management jdk.httpserver jdk.crypto.ec java.management.rmi java.smartcardio jdk.naming.rmi java.jnlp jdk.jlink javafx.controls jdk.management.cmm java.logging java.rmi jdk.sctp