English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

كيف يمكن إنشاء كلاس ثابت Object دون إشارة إلى كلاس خارجي في Java؟

المعلمات الثابتة (الطريقة/المتغير) تعود إلى الفئة، وستتم تحميلها مع الفئة إلى الذاكرة. يمكنك تفعيلها دون إنشاء كائن. (استخدم اسم الفئة كمرجع). هناك نسخة واحدة فقط من الحقل الثابت في جميع الكائنات، أي أن قيمة الحقل الثابت متطابقة في جميع الكائنات. يمكنك استخدام الكلمة المفتاحية static لتعريف حقل ثابت.

مثال

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Value of num in the demo method "+ Sample.num);
   }
}
public class Demo{
   public static void main(String args[]){
      System.out.println("Value of num in the main method "+ Sample.num);
      Sample.demo();
   }
}

نتيجة الإخراج

قيمة num في الطريقة الرئيسية 50
قيمة num في الطريقة الممثلة 50 في البرنامج التدريبي

إقتباس العضو الثابت الثابت في نفس الفئة

إذا كان عليك إقتباس عضو ثابت لفئة نفسها (في نفس الفئة)، لا تحتاج إلى إقتباس الفئة نفسها، يمكنك الوصول إلى العضو الثابت مباشرة.

مثال

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Value of num in the demo method "+ Sample.num);
   }
   public static void main(String args[]){
      demo();
      System.out.println(num);
   }
}

نتيجة الإخراج

قيمة num في الطريقة الممثلة 50 في البرنامج التدريبي

النوع الداخلي

في Java، يمكنك تضمين فئة داخل فئة أخرى، وتُسمى هذه الفئات فئات داخلية.

النحو

public class Outer{
   public class Inner{
   }
}

عندما يكون لديك فئة داخل فئة أخرى، فإنها تلعب دورًا كعضو في الفئة الخارجية. لذلك، إذا قمت بتصنيف الفئة الداخلية كاستاتيكي، يمكنك الوصول إلى أعضائها (الأعضاء الداخلية) باستخدام اسمها فقط (الفئة الداخلية)-

outer_class_name.inner_class_name.members

مثال

class OuterDemo {
   static int data = 200;
   static class InnerDemo {
      public static void my_method() {
         System.out.println("This is my nested class");
         System.out.println(OuterDemo.data);
      }
   }
}
public class StaticClassExample{
   public static void main(String args[]) {
      System.out.println(OuterDemo.data);
      //النوع المدمج Outer.InnerDemo = جديد Outer.InnerDemo(); 
      OuterDemo.InnerDemo.my_method();
   }
}

نتيجة الإخراج

200
This is my nested class
200

إذا حاولت الاستدلال على عضو (الاستاتيكي) للفئة الداخلية، لا تحتاج إلى استخدام اسم الفئة الخارجية، يمكنك التطرق إلى العضو (العضو الداخلي) فقط باستخدام اسم الفئة الداخلية.

مثال

class OuterDemo {
   static int data = 200;
   static class InnerDemo {
      public static void my_method() {
         System.out.println("This is my nested class");
         System.out.println(OuterDemo.data);
      }
   }
   public static void main(String args[]) {
      System.out.println(data);
      InnerDemo.my_method();
   }
}

نتيجة الإخراج

200
This is my nested class
200
توصيات لك