Java مثال حول الكلمة static في جافا

في هذا المثال سنقوم بتعريف كلاس إسمه Example يحتوي على الأشياء التالية:

  1. متغير إسمه a معرف كـ static.
  2. دالة إسمها print تعرض قيمة المتغير a.
  3. دالة إسمها staticPrint تعرض أيضاً قيمة المتغير a لكنها معرفة كـ static.

بعدها سنقوم بتغير و عرض قيمة المتغير a بعدة طرق.

Example.java
public class Example {
 
    // Example.a إذاً يمكننا الوصول إليه من خلال كائن أو من أي مكان مباشرةً بهذا الشكل .static كـ a قمنا بتعريف المتغير
    public static int a;
 
    // Example هذه الدالة لا يمكن استدعاءها إلا من خلال كائن من الكلاس
    public void print() {
        System.out.println( "a: " +a );
    }
 
    // Example.staticPrint(); هذه الدالة يمكن استدعائها مباشرةً من أي مكان بهذا الشكل
    public static void staticPrint() {
        System.out.println( "a: " +a );
    }
 
}
		

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        // Example من الكلاس e2 و e1 هنا قمنا بإنشاء كائنين
        Example e1 = new Example();
        Example e2 = new Example();
 
        Example.a = 10;          // Example مباشرةً من الكائن الكلاس a هنا قمنا بإعطاء قيمة لـ
        Example.staticPrint();   // static التي يمكننا استدعائها مباشرةً من الكلاس لأن نوعها staticPrint() من خلال الدالة a هنا قمنا بعرض قيمة
        e1.staticPrint();        // أيضاً e1 التي يمكننا استدعائها من الكائن staticPrint() من خلال الدالة a هنا قمنا بعرض قيمة
        e2.staticPrint();        // أيضاً e2 التي يمكننا استدعائها من الكائن staticPrint() من خلال الدالة a هنا قمنا بعرض قيمة
 
        e1.a = 22;    // e1 من خلال الكائن a هنا قمنا بتغير قيمة
        e1.print();   // e1 التي وصلنا إليها من خلال الكائن print() ثم قمنا بعرضها من خلال الدالة
 
        e2.a = 75;    // e2 من خلال الكائن a هنا قمنا بتغير قيمة
        e2.print();   // e2 التي وصلنا إليها من خلال الكائن print() ثم قمنا بعرضها من خلال الدالة
 
    }
 
}
		

سنحصل على النتيجة التالية عند التشغيل.

a: 10
a: 10
a: 10
a: 22
a: 75 
		

ملاحظة

لا يمكنك وضع this عند استدعاء متغير نوعه static, فهنا مثلاً لا يمكنك أن تكتب this.a بدل a لأن الكلمة this تستخدم للإشارة إلى كائن محدد على عكس مبدأ الـ static.

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة