Main Method ต้องเป็น public
JVM เรียก main method จากนอก class ต้องเป็น public จึงจะเข้าถึงได้
ตัวอย่าง: public (ถูกต้อง)
public class Demo {
public static void main(String[] args) {
System.out.println("This works!");
}
}
ผลลัพธ์
This works!
ตัวอย่าง: private (Compile OK แต่ Run Error)
public class Demo {
private static void main(String[] args) {
System.out.println("This won't run!");
}
}
ผลลัพธ์
Error: Main method not found in class Demo, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application
รายละเอียด
| Modifier | Compile | Run | หมายเหตุ |
|---|---|---|---|
| public | ✓ | ✓ | Standard |
| private | ✓ | ✗ | JVM ไม่เข้าถึงได้ |
| protected | ✓ | ✗ | JVM ไม่ใช่ subclass |
| (package-private) | ✓ | ✗ | JVM ไม่อยู่ใน package เดียวกัน |
| static (missing) | ✗ | - | Compile error: non-static |
| void (missing) | ✗ | - | Compile error: return type |