تخطَّ إلى المحتوى

Compact Source Files

الملفات المختصرة والـ main بدون static (Java 25) Compact Source Files

منذ Java 25، يمكن كتابة برنامج بدون class أو public static void main أو String[] args — مخصصة للتعلّم والبرامج القصيرة.

تقليديًا، أي برنامج Java يبدأ بصنف يحتوي دالة public static void main(String[] args). منذ Java 25، يقبل المترجم ملفًا مختصرًا (compact source file) بلا تعريف صنف صريح، ودالة main كدالة نسخة (instance method) بدون static وبدون معامل String[] — المترجم يضيف الصنف والتفاصيل المطلوبة تلقائيًا خلف الكواليس.

ترافقها إضافة java.lang.IO التي توفّر IO.println() وIO.readln() للطباعة والقراءة السريعة بدون System.out أو Scanner. الهدف تعليمي بالدرجة الأولى — تبسيط أول تجربة كتابة كود لمن لم يتعلّم بعد class أو static — والصيغة الكاملة تبقى المعيار في الأكواد الحقيقية والمشاريع الكبيرة.

الصياغة

void main() {
    IO.println("نص");
}

📄 مثال

// ملف مختصر (Java 25+) — بدون class ظاهر وبدون static:
void main() {
    IO.println("مرحبًا من Java!");
    String name = IO.readln("اسمك: ");
    IO.println("أهلًا " + name);
}

// يعادل تقريبًا الصيغة الكاملة التقليدية:
// public class Main {
//     public static void main(String[] args) {
//         System.out.println("مرحبًا من Java!");
//     }
// }

أهم النقاط

العنصرالوظيفة
compact source fileملف .java بدون تعريف class صريح على المستوى الأعلى
instance main methodدالة main بدون static — لا تحتاج String[] args
java.lang.IOصنف مساعد جديد لطباعة وقراءة سريعة: IO.println() وIO.readln()

💡 نصائح عملية

  • مفيدة للتجربة السريعة والسكربتات القصيرة وتعليم المبتدئين أول خطوة في الكود
  • public static void main(String[] args) التقليدية تبقى الأولوية إذا وُجدت في نفس الملف، وهي المعيار في أي مشروع حقيقي

⚠️ أخطاء شائعة

  • الاعتماد على هذه الصيغة في مشروع حقيقي متعدد الأصناف — مصممة للتعلّم والبرامج القصيرة وحيدة الملف فقط
  • توقع أنها تعمل على إصدارات Java أقدم من 25 — تحتاج JDK 25 أو أحدث

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.