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

最後のキーワードだけを使用してJavaで定数を定義できますか?


定数変数は、値が固定されており、そのコピーが1つだけプログラムに存在する変数です。定数変数を宣言してそれに値を割り当てると、プログラム全体でその値を再度変更することはできません。

他の言語とは異なり、Javaは定数を直接サポートしていません。ただし、変数staticおよび final を宣言することで、定数を作成できます。 。

静的 −変数staticを宣言すると、コンパイル時にメモリにロードされます。つまり、使用できるのは1つのコピーだけです。

最終 −変数finalを宣言すると、その値を再度変更することはできません。

したがって、インスタンス変数staticおよびfinalを宣言することにより、Javaで定数を作成できます。

class Data {
   static final int integerConstant = 20;
}
public class ConstantsExample {
   public static void main(String args[]) {
      System.out.println("value of integerConstant: "+Data.integerConstant);
   }
}

出力

value of integerConstant: 20
value of stringConstant: hello
value of floatConstant: 1654.22
value of characterConstant: C

静的キーワードのない定数

staticキーワードを使用せずに最終変数を作成すると、その値は変更できませんが、新しいオブジェクトを作成するたびに、変数の個別のコピーが作成されます。

たとえば、次のJavaプログラムについて考えてみます。

class Data {
   final int integerConstant = 20;
}
public class ConstantExample {
   public static void main(String args[]) {
      Data obj1 = new Data();
      System.out.println("value of integerConstant: "+obj1.integerConstant);
      Data obj2 = new Data();
      System.out.println("value of integerConstant: "+obj2.integerConstant);
   }
}

出力

value of integerConstant: 20
value of integerConstant: 20

ここでは、最終変数を作成し、2つのオブジェクトを使用してその値を出力しようとしました。実際の変数のコピーであるオブジェクトごとに異なるオブジェクトを使用したため、変数の思考値は両方のインスタンスで同じです。

定数の定義によると、プログラム(クラス)全体で変数のコピーを1つ持つ必要があります。

したがって、pert定義として定数を作成するには、静的と最終の両方を宣言する必要があります。


  1. Javaの最終変数

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

  2. Javaの最後のキーワード

    finalは、Java要素の非アクセス修飾子です。 final修飾子は、クラス、メソッド、および変数の実装を確定するために使用されます。 最終変数 最終変数は明示的に一度だけ初期化できます。 finalとして宣言された参照変数を、別のオブジェクトを参照するように再割り当てすることはできません。 ただし、オブジェクト内のデータは変更できます。したがって、オブジェクトの状態は変更できますが、参照は変更できません。 変数の場合、定数をクラス変数にするために、最後の修飾子がstaticとともに使用されることがよくあります。 例 public class Test {    fina