Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaの静的および非静的空白の最終変数


静的変数:キーワード「static」を使用して宣言され、クラス変数とも呼ばれます。これらは、コンストラクター内またはクラス関数の外部で定義されます。変数が静的である場合、作成されるオブジェクトの数に関係なく、クラスのすべてのオブジェクト間で共有されます。

変数とともに使用した場合の「static」キーワードの仕組みのデモンストレーション

public class Demo{
   String name;
   static String designation;
   public void display_data(){
      System.out.println("The name is: " + name);
      System.out.println("The designation of this team members is : " + designation);
   }
   public static void main(String s[]){
      Demo.designation = "Intern";
      Demo my_obj = new Demo();
      my_obj.name = "Joe";
      Demo my_obj_2 = new Demo();
      my_obj_2.name = "Joanna";
      my_obj.display_data();
      my_obj_2.display_data();
      my_obj.designation = "Senior dev";
      System.out.println("\nAfter the changes, the data is :\n");
      my_obj.display_data();
      my_obj_2.display_data();
   }
}

出力

The name is: Joe
The designation of this team members is : Intern
The name is: Joanna
The designation of this team members is : Intern
After the changes, the data is :
The name is: Joe
The designation of this team members is : Senior dev
The name is: Joanna
The designation of this team members is : Senior dev

Demoという名前のクラスには、変数と、クラス変数を表示するために使用される「display_data」という名前の関数が含まれています。 main関数では、クラスのインスタンスが作成され、名前と指定がオブジェクト変数に割り当てられます。それが表示され、別のオブジェクトが作成され、同じことが行われます。データはコンソールに表示されます。変更はここに反映されます。

静的最終空白変数 −キーワード「static」を伴う空白の最終変数の定義と同じです。つまり、静的なコードブロック内でのみ初期化できます。

空白の最終変数 −名前が示すように、値が割り当てられていない最終変数は、空白の最終変数と呼ばれます。コンストラクター内でのみ初期化でき、空白の最終変数の開始に失敗すると、コンパイルエラーが発生します。

空白の最終変数が機能している

public class Demo{
   private static final int val_1;
   private final int val_2;
   static{ val_1 = 1;
   }
   Demo(int val_3){
      val_2 = val_3;
   }
   public static void main(String s[]){
      Demo obj_1 = new Demo(95);
      Demo obj_2 = new Demo(99);
      System.out.println("The value of first variable is : ");
      System.out.println(Demo.val_1);
      System.out.println("The value of first variable accessed using the object : ");
      System.out.println(obj_1.val_2);
   }
}

出力

The value of first variable is :
1
The value of first variable accessed using the object :
95

Demoという名前のクラスには、変数と、ある値を別のクラス変数に割り当てるために使用される「Demo」という名前のコンストラクターが含まれています。 main関数では、クラスの2つのインスタンスが作成され、それらの値がコンソールに表示されます。


  1. Javaで空白の最終変数を初期化できますか

    はい!コンストラクターまたはインスタンス初期化ブロックで空白の最終変数を初期化できます。

  2. Javaの最終変数

    最終変数は明示的に一度だけ初期化できます。 finalとして宣言された参照変数を、別のオブジェクトを参照するように再割り当てすることはできません。 ただし、オブジェクト内のデータは変更できます。したがって、オブジェクトの状態は変更できますが、参照は変更できません。 変数を使用する場合、最終修飾子 多くの場合、定数をクラス変数にするためにstaticとともに使用されます。 例 public class Test {    final int value = 10;    // The following are examples of declaring