A โมดูล เป็นชุดของรหัสในรูปแบบของคลาสที่จัดใน แพ็คเกจ และทรัพยากรแบบคงที่ เช่น ทรัพย์สิน ไฟล์ หรืออื่นๆ. ให้ข้อมูลทั้งหมดที่จำเป็นสำหรับการใช้โมดูลนั้นกับสภาพแวดล้อมภายนอก โมดูล คำอธิบาย เป็นแหล่งสำคัญของ โมดูล ระบบและเป็นเวอร์ชันคอมไพล์ของการประกาศโมดูลที่ระบุในไฟล์ชื่อ "module-info.java " ที่รูทของลำดับชั้นไดเรกทอรีของโมดูล
โมดูลอธิบายตัวเองโดยการประกาศโมดูลดังนี้
module com.myproject.module1 { requires com.myproject.module2; exports com.myproject.project1; exports com.myproject.project2; }
ด้านล่างนี้คือคำอธิบายโมดูลบางส่วนที่อธิบายไว้:
- โมดูลโมดูล ชื่อ: ประกาศโมดูลที่เรียกว่า module.name.
- ต้องมีโมดูล ชื่อ: ระบุว่าโมดูลของเราขึ้นอยู่กับโมดูล ชื่อ อนุญาตให้โมดูลนี้เข้าถึงประเภทสาธารณะที่ส่งออกในโมดูลเป้าหมาย
- ต้องใช้โมดูลสกรรมกริยา ชื่อ: โมดูลใดๆ ที่ขึ้นอยู่กับโมดูลนี้โดยอัตโนมัติจะขึ้นอยู่กับ module.name
- ส่งออก pkg.name: มันบอกว่าโมดูลของเราส่งออกสมาชิกสาธารณะในแพ็คเกจ pkg.name สำหรับทุกโมดูลที่ต้องการโมดูลนี้
- ส่งออก pkg.name ไปยัง module.name: มันเหมือนกับด้านบน แต่จำกัดว่าโมดูลใดที่สามารถใช้สมาชิกสาธารณะจากแพ็คเกจ pkg.name ได้
- ใช้คลาส ชื่อ: มัน ทำให้โมดูลปัจจุบันเป็นผู้ใช้บริการสำหรับ class.name ของบริการ
- ระบุ class.name ด้วย class.name.impl: มันลงทะเบียนบริการ class.name.impl คลาสที่ให้บริการการใช้งานของบริการ class.name
- เปิด pkg.name: อนุญาตให้โมดูลอื่นใช้การสะท้อนเพื่อเข้าถึงสมาชิกส่วนตัวของแพ็คเกจ pkg.name
- เปิด pkg.name เป็น module.name: มันทำเช่นเดียวกัน แต่จำกัดว่าโมดูลใดบ้างที่สามารถเข้าถึงสมาชิกส่วนตัวใน pkg.name ได้