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

Javaの定数と最終変数の違いは?


Javaで一定

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

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

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

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

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

Javaの最終変数

変数finalを宣言すると、その値を変更することはできません。これを行おうとすると、コンパイル時エラーが生成されます。

public class FinalExample {
   public static void main(String args[]) {
      final int num = 200;
      num = 2544;
   }
}

出力

FinalExample.java:4: error: cannot assign a value to final variable num
   num = 2544;
   ^
1 error

final変数と定数(staticおよびfinal)の主な違いは、staticキーワードなしでfinal変数を作成すると、その値は変更できませんが、新しいオブジェクトを作成するたびに変数の個別のコピーが作成されることです。定数が変更不可能であり、プログラム全体で1つのコピーしかない場合。たとえば、次の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でのArrayListとHashSetの違い

    HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり

  2. 定数とは何ですか?Javaで定数を定義する方法は?

    定数は、値が割り当てられると変更できない変数です。 。 Javaには定数のサポートが組み込まれていません。 定数を使用すると、プログラムを他の人が読みやすく理解しやすくなります。さらに、定数はアプリケーションだけでなくJVMによってもキャッシュされるため、定数を使用するとパフォーマンスを向上させることができます。 変数を定数として定義するには、キーワード「 final」を追加するだけです。 」を変数宣言の前に置きます。 構文 final float pi = 3.14f; 上記のステートメントは、float変数「pi」を値3.14fの定数として宣言しています。プログラムのどの時点でも、「p