定数(final変数)とは、最初に定義(初期化)した値を、後から変更できない変数のこと。
例えば円周率や税率など、よく使う固定値を定数(final変数)にしておくと便利だ。
定数名は大文字とアンダーバーだけを使う慣例がある。詳しくは、定数名の命名に関する慣例のページへ。
構文
class クラス名 {
final データ型 変数名 = 値; // メンバ変数を定数化
static final データ型 変数名 = 値; // 静的メンバ変数を定数化
データ型 メソッド名(){
final データ型 変数名 = 値; // ローカル変数を定数化
}
}
final データ型 変数名 = 値; // メンバ変数を定数化
static final データ型 変数名 = 値; // 静的メンバ変数を定数化
データ型 メソッド名(){
final データ型 変数名 = 値; // ローカル変数を定数化
}
}
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package samplePackage; public class SampleClass { public static void main( String[] args ){ // ローカル定数。 final String VAR_A = "ローカル定数"; // ローカル定数「VAR_A」の値を表示 System.out.println( "VAR_Aの値は、「" + VAR_A + "」である。" ); // クラス「SampleClass2」の静的メンバ定数「VAR_B」の値を表示 System.out.println( "SampleClass2.VAR_Bの値は、「" + SampleClass2.VAR_B + "」である。" ); // オブジェクトのインスタンスを生成 SampleClass2 varObject = new SampleClass2(); // クラス「SampleClass2」のメンバ定数「VAR_C」の値を表示 System.out.println( "varObject.VAR_Cの値は、「" + varObject.VAR_C + "」である。" ); } static class SampleClass2 { // 静的メンバ定数。 static final String VAR_B = "静的メンバ定数"; // メンバ定数。 final String VAR_C = "メンバ定数"; } } |
実行結果
VAR_Aの値は、「ローカル定数」である。
SampleClass2.VAR_Bの値は、「静的メンバ定数」である。
varObject.VAR_Cの値は、「メンバ定数」である。
SampleClass2.VAR_Bの値は、「静的メンバ定数」である。
varObject.VAR_Cの値は、「メンバ定数」である。