السلام عليكم
يمكننك كتابة برنامج و تشغيله من دون احتوأه على دالة main الرئيسية، و كل هذا يتم باستخدام كتل ثابتة (static block) في الفئة او الصف (Class).
السبب في هذا، ان تهيئة الكتل الثابتة يتم تنفيذها في حال تحميل الفئة (static initialization blocks get executed as soon as the class is loaded)، حتى قبل استدعاء الدالة main الرئيسية.
فانه خلال وقت التشغيل فان JVM تقوم بالبحث عن الدالة الرئيسية main فور انهاء هذه الدالة، واذا لم يجد دالة رئيسية فانه يلقي استثناء (exception).
و لتجتنب هذا الاستثناء قمنا باستدعاء جملة
System.exit(0);
والتي تستخدم لانهاء البرنامج و توقيفه في نهاية الكتلة الثابتة
class MainMethodNot
{
static
{
System.out.println("This java program have run without the run method");
System.exit(0);
}
}قد لا تنجح معك في محاولة تشغيل البرنامج من ال Netbeans لانه لا يعمل من دون دالة main ، لذلك استخدم الطريقة الكلاسيكية
java -jar "E:\Test\dist\Test.jar"

