ใช่ เราสามารถรันโปรแกรม Java โดยไม่มีเมธอด main ได้โดยใช้บล็อก static
บล็อก static ใน Java คือกลุ่มคำสั่งที่ถูกดำเนินการเพียงครั้งเดียวเมื่อคลาสถูกโหลดเข้าหน่วยความจำโดย Java ClassLoader ยังเรียกอีกอย่างว่า static initialization block บล็อกเริ่มต้นแบบ static เข้าสู่หน่วยความจำ Stack โดยตรง
ตัวอย่าง
class StaticInitializationBlock{ static{ System.out.println("class without a main method"); System.exit(0); } }ในตัวอย่างข้างต้น เราสามารถรันโปรแกรม Java โดยไม่มีเมธอด main (ทำงานได้จนถึง Java 1.6) Java 7 และเวอร์ชันใหม่กว่าไม่อนุญาตให้ทำเช่นนี้ เพราะ JVM ตรวจสอบการมีอยู่ของเมธอด main ก่อนเริ่มต้นคลาส
ผลลัพธ์
class without a main method.