العودة إلى الدورة

الكلمة المفتاحية static: المتغيرات، والدوال، والكتل

إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)

الدرس 26: الكلمة المفتاحية static

تعني الكلمة المفتاحية static أن العضو (متغير أو دالة أو كتلة) ينتمي إلى الفئة نفسها ، وليس إلى أي نسخة (كائن) محددة من الفئة.

1. المتغيرات الثابتة (متغيرات الفئة)

  • مشتركة بين جميع كائنات الفئة.
  • يتم تهيئتها مرة واحدة فقط عند تحميل الفئة في الذاكرة.

java public class Counter { // متغير نسخة (لكل كائن نسخته الخاصة) int instanceCount = 0;

// متغير ثابت (مشترك بين جميع الكائنات)
public static int totalObjects = 0;

public Counter() {
    instanceCount++;
    totalObjects++; // يزيد العداد المشترك
}

}

Counter c1 = new Counter(); Counter c2 = new Counter();

// الوصول للمتغيرات الثابتة عبر اسم الفئة System.out.println(Counter.totalObjects); // المخرج: 2

2. الدوال الثابتة (Static Methods)

  • يمكن استدعاؤها مباشرة باستخدام اسم الفئة (مثلاً Math.sqrt(16)).
  • لا يمكنها الوصول إلى متغيرات النسخة (غير الثابتة) أو تعديلها مباشرة.
  • لا يمكنها استخدام الكلمات المفتاحية this أو super.

java public static String getCompanyName() { return "TechCorp"; }

// الوصول: String name = Counter.getCompanyName();

3. كتل التهيئة الثابتة (Static Initialization Blocks)

تُستخدم لتهيئة المتغيرات الثابتة أو تنفيذ منطق إعداد ثابت عند تحميل الفئة لأول مرة.

java public class Config { public static final double PI;

static {
    // يتم تشغيل هذا مرة واحدة عند تحميل فئة Config
    PI = 3.14159;
    System.out.println("Static block initialized.");
}

}