الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشغيل برنامج من دون دالة main

بدأه .S.T.A.L.K.E.R في 7 مارس 2010 · 4 رد · 650 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

يمكننك كتابة برنامج و تشغيله من دون احتوأه على دالة 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"
#2

ما الذي أستفيده يا محمد لو قمت بتشغيل البرنامج بدون main؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

الاستفادة انه تم التشغيل بدون الدالة الرئيسية

والله سؤالك حيرني

لكن يمكن الاستفادة بأمرين

1- وجود كتل ثابتة

2- ان الكتل الثابتة يتم تهيئتها مسبقا

#4

لم تفهمني يا محمد

كنت سأفهم لو شرحت عن static block وفوائده ومتى يتم تنفيذه

لكن عندما تقول برنامج من دون دالة main فأنا أريد أن أعرف ما مشكلة البرامج التي تحتوي على الدالة main?

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

لا مشكلة فيها

لكن هذا الموضوع عبارة عن " فكرة مفيدة "(Tip) لا اكثر

1

مواضيع مشابهة