定数(final変数)

定数(final変数)とは、最初に定義(初期化)した値を、後から変更できない変数のこと。
例えば円周率や税率など、よく使う固定値を定数(final変数)にしておくと便利だ。

定数名は大文字とアンダーバーだけを使う慣例がある。詳しくは、定数名の命名に関する慣例のページへ。

構文

class クラス名 {
    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の値は、「メンバ定数」である。