Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราสามารถรันโปรแกรมจาวาโดยไม่มีวิธีการหลักได้หรือไม่?


ได้ เราสามารถรันโปรแกรมจาวาได้โดยไม่ต้องใช้เมธอดหลักโดยใช้สแตติกบล็อก

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

ตัวอย่าง

class StaticInitializationBlock{
   static{
      System.out.println("class without a main method");
      System.exit(0);
   }
}

ในตัวอย่างข้างต้น เราสามารถรันโปรแกรมจาวาได้โดยไม่ต้องใช้เมธอดหลัก (ใช้งานได้จนถึงเวอร์ชัน Java 1.6) Java 7 และเวอร์ชันที่ใหม่กว่าไม่อนุญาตเนื่องจาก JVM ตรวจสอบการมีอยู่ของเมธอดหลักก่อนเริ่มต้นคลาส

ผลลัพธ์

class without a main method.