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

هل يمكن إعلان متغيرات صلبة في طريقة في Java؟

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

مثال

public class Sample{
   static int num = 50;
   public void demo(){
      System.out.println("قيمة num في عملية demo " + Sample.num);
   }
   public static void main(String args[]){
      System.out.println("قيمة num في عملية main " + Sample.num);
      new Sample().demo();
   }
}

نتائج الخروج

قيمة num في عملية الـ main 50
قيمة num في عملية demo 50

متغيرات ديناميكية في العملية

المتغيرات الموجودة في العملية هي متغيرات محلية، ويكون نطاقها داخل العملية، وتتم إزالتها بعد تنفيذ العملية. أي أنك لا يمكنك استخدام متغيرات محلية تتعارض مع تعريف متغيرات الفئة/الديناميكية في خارج العملية. لذلك، لا معنى لإعلان متغير ديناميكي داخل العملية، وإذا حاولت القيام بذلك، فإنه سيكون هناك خطأ في وقت التجميع.

مثال

في البرنامج الجافا التالي، نحاول إعلان متغيرات ديناميكية داخل عملية.

import java.io.IOException;
import java.util.Scanner;
public class Sample {
   static int num;
   public void sampleMethod(Scanner sc){
      static int num = 50;
   }
   public static void main(String args[]) throws IOException {
      static int num = 50;
   }
}

أخطاء في التجميع

إذا قمت بمحاولة تنفيذ البرنامج المذكور أعلاه، فإنه سيكون لديك الأخطاء التالية-

Sample.java:6: خطأ: بداية غير قانونية للتعبير
   static int num = 50;
  ^
Sample.java:9: خطأ: بداية غير قانونية للتعبير
   static int num = 50;
^
2 أخطاء
أنت قد تعجبك