Skip to content
Siamcoder

การสร้างและใช้งานโมดูลใน Java (Creating and Using Modules in Java)

java1 min read

การสร้างและใช้งานโมดูลใน Java ช่วยให้คุณสามารถแบ่งโปรแกรมออกเป็นส่วนย่อยที่เป็นอิสระและสามารถนำมาใช้ซ้ำได้ โมดูลใน Java จะเป็นเหมือนแพ็กเกจที่มีคลาสและอิสระที่จะเข้าถึงกันได้

สำหรับการสร้างและใช้งานโมดูลใน Java คุณสามารถทำตามขั้นตอนดังนี้:

  1. สร้างโปรเจกต์ Java ใหม่และสร้างไดเร็กทอรีใหม่สำหรับโมดูลของคุณ
  2. ในไดเร็กทอรีของโมดูล สร้างไฟล์ module-info.java เพื่อกำหนดโมดูล
  3. ระบุชื่อและค่าที่จำเป็นในไฟล์ module-info.java เช่น ชื่อโมดูลและการอ้างอิงไปยังแพ็กเกจอื่น ๆ
  4. สร้างคลาสหรืออิสระภายในโมดูลของคุณ
  5. สร้างแพ็กเกจในโมดูลและเพิ่มคลาสหรืออิสระลงในแพ็กเกจนั้น
  6. คอมไพล์และสร้างโมดูลของคุณ
  7. ในโปรเจกต์หลัก อ้างอิงโมดูลที่คุณสร้างในขั้นตอนก่อนหน้านี้

นี่คือตัวอย่างโค้ดสำหรับการสร้างและใช้งานโมดูลใน Java:

// ในไดเร็กทอรีของโมดูล
// File: module-info.java
module mymodule {
exports com.example.mymodule; // กำหนดแพ็กเกจที่จะสามารถเข้าถึงได้จากภายนอกโมดูล
requires someothermodule; // กำหนดโมดูลที่ต้องการอ้างอิง
}
// ในแพ็กเกจ com.example.mymodule
// File: MyModuleClass.java
package com.example.mymodule;
public class MyModuleClass {
public void sayHello() {
System.out.println("Hello from MyModule!");
}
}
// ในโปรเจกต์หลัก
// File: MainClass.java
package com.example;
import com.example.mymodule.MyModuleClass;
public class MainClass {
public static void main(String[] args) {
MyModuleClass myModule = new MyModuleClass();
myModule.sayHello();
}
}`

ในตัวอย่างด้านบน เราสร้างโมดูลชื่อ mymodule และกำหนดให้แพ็กเกจ com.example.mymodule สามารถเข้าถึงได้จากภายนอกโมดูล โมดูลของเราอาศัยโมดูลอื่น someothermodule ด้วยคำสั่ง requires ในไฟล์ module-info.java ในโปรเจกต์หลัก เราอ้างอิงโมดูล mymodule และสร้างอินสแตนซ์ของคลาส MyModuleClass และเรียกใช้เมธอด sayHello() ของคลาสนั้น

โปรดจำไว้ว่าเมื่อคอมไพล์โมดูลแล้ว คุณจะต้องระบุโมดูลเป็นพารามิเตอร์ในการรันโปรแกรม โดยใช้คำสั่ง --module และชื่อโมดูล

// ในไดเร็กทอรีของโมดูล
// File: module-info.java
module mymodule {
exports com.example.mymodule; // กำหนดแพ็กเกจที่จะสามารถเข้าถึงได้จากภายนอกโมดูล
requires someothermodule; // กำหนดโมดูลที่ต้องการอ้างอิง
}
// ในแพ็กเกจ com.example.mymodule
// File: MyModuleClass.java
package com.example.mymodule;
public class MyModuleClass {
public void sayHello() {
System.out.println("Hello from MyModule!");
}
}
// ในแพ็กเกจ com.example
// File: MainClass.java
package com.example;
import com.example.mymodule.MyModuleClass;
public class MainClass {
public static void main(String[] args) {
MyModuleClass myModule = new MyModuleClass();
myModule.sayHello();
}
}`

ในตัวอย่างด้านบน เราสร้างโมดูลชื่อ mymodule และกำหนดให้แพ็กเกจ com.example.mymodule สามารถเข้าถึงได้จากภายนอกโมดูล โมดูลของเราอาศัยโมดูลอื่น someothermodule ด้วยคำสั่ง requires ในไฟล์ module-info.java ในโปรเจกต์หลัก เราอ้างอิงโมดูล mymodule และสร้างอินสแตนซ์ของคลาส MyModuleClass และเรียกใช้เมธอด sayHello() ของคลาสนั้น

โปรดจำไว้ว่าเมื่อคอมไพล์โมดูลแล้ว คุณจะต้องระบุโมดูลเป็นพารามิเตอร์ในการรันโปรแกรม โดยใช้คำสั่ง --module และชื่อโมดูล