【Javaの基礎】Javaの定数

 

こんにちは、現役SEの「とも」です。

今回は、Javaの定数についてです。

 

定数とは、中身の書き換えができない変数のことを言います。

定数にする方法は簡単で、これまで定義してきた変数に「final」のキーワードを付けるだけです。

 

 
final String DISPLAY_MSG = "こんにちは!";
	

 

定数名の命名規則は一般的に、大文字「スネークケース」が使用されます。

 

定数の初期化は定数の宣言時に行い、宣言時以外に値を代入しようとしてもエラーになります。

 

 
final String DISPLAY_MSG = "こんにちは!";
DISPLAY_MSG = "こんばんは!"; ← エラー箇所
	

 

【エラー内容】

 
final のローカル変数 MSG には代入できません。ブランクでなければならず、複合代入を使用することはできません
	

 

また、初期化していない定数を使用する場合もエラーになります。

 

 
final String DISPLAY_MSG;
System.out.println( DISPLAY_MSG); ← エラー箇所
	

 

【エラー内容】

 
ローカル変数 MSG が初期化されていない可能性があります
	

 

勉強中の方のよくある疑問

 

勉強中の方は、わざわざ定数の宣言しなくても、変数のまま定数として使えばいいのでは?

と思ってしまう方もいるかもしれませんね。

 

たしかに、変数のまま定数として扱うことはできます。

ただ、個人で趣味の開発をする分には良いかもしれませんが、チームで開発する場合には自分以外の人もソースを触るので、誤って定数の上書きをしてしまうかもしれません。

 

そのようなことになると、なかなか見つからないバグに発展する可能性があります。

個人で開発していたとしても、ずっと昔のソースを触る場合、忘れてしまっていることもザラにあります。

 

やはり定数は定数の宣言として定義しておくことで、トラブルの種を事前に取り除いておくことができます。

 

そのような訳で、定数には「final」のキーワードを付ける、「スネークケースの大文字で命名する」というお作法を身につけると良いと思います。