ホームページ  >  記事  >  Java  >  Java では、final キーワードのみを使用して定数を定義できますか?

Java では、final キーワードのみを使用して定数を定義できますか?

王林
王林転載
2023-09-20 16:17:021399ブラウズ

Java では、final キーワードのみを使用して定数を定義できますか?

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

他の言語とは異なり、Java は定数を直接サポートしません。ただし、変数を static および

final として宣言することで、定数を作成することはできます。

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

Final - 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

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

静的キーワードなしで定数を作成する場合 最終変数の値は変更できませんが、新しいオブジェクトが作成されるたびに作成され、変数の別のコピーが作成されます。

たとえば、次の 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

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

定数の定義によれば、変数のコピーはプログラム (クラス) 全体で 1 つだけ必要です。

したがって、定数を定義どおりに作成するには、それを static かつ Final として宣言する必要があります。

以上がJava では、final キーワードのみを使用して定数を定義できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。