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

static

static للتخزين المشترك static

static تجعل العنصر مشتركًا بين كل الكائنات (عضو صنف) أو متاحًا بلا كائن (دالة صنفية).

في Java، static تعني أن العنصر ينتمي للصنف نفسه لا لكل كائن على حدة. static variable نسخة واحدة مشتركة بين كل الكائنات. static method تُستدعى عبر اسم الصنف مباشرة بدون إنشاء كائن.

الصياغة

static int count = 0;
static void display() { }

// الاستدعاء:
ClassName.count++;
ClassName.display();

📄 مثال

class Counter {
    static int total = 0;

    Counter() {
        total++;
    }

    static int getTotal() {
        return total;
    }
}

Counter a = new Counter();
Counter b = new Counter();
Counter c = new Counter();
System.out.println(Counter.getTotal()); // 3

أهم النقاط

العنصرالوظيفة
static variableقيمة واحدة مشتركة لكل كائنات الصنف
static methodتُستدعى عبر الاسم الصنف بدون كائن — لا يصل لأعضاء غير static
static blockكتلة تُنفّذ مرة واحدة عند تحميل الصنف — لتهيئة ثوابت معقّدة

💡 نصائح عملية

  • الثوابت (constants) يجب أن تكون static final: static final int MAX = 100;
  • الدوال المساعدة التي لا تحتاج لحالة الكائن يجب أن تكون static

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

  • nxing استخدام this داخل دالة static — this مرتبط بكائن والstatic لا كائن مرتبط بها
  • nxing this في static initializer — خطأ لأن this مرتبط بالكائن

خصائص ذات صلة

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