「JavaでC言語のdefineの定数定義に相当するものは」の版間の差分
提供: Java入門
(ページの作成:「C言語/C++言語では、定数の定義に プリプロセッサディレクティブ #define を利用できました。Java言語には、defineは存在しません...」) |
(相違点なし)
|
2015年9月6日 (日) 16:55時点における版
C言語/C++言語では、定数の定義に プリプロセッサディレクティブ #define を利用できました。Java言語には、defineは存在しません。その代わり、finalで代替することができます。
読み方
- final
- ふぁいなる
- define
- でぃふぁいん
概要
C言語/C++言語では、定数の定義にプリプロセッサディレクティブ #define を利用して、定数が定義できました。例えば、以下のコードで定数 TIMER_STOPを定義できました。
#define TIMER_STOP 0
Java言語には、C言語と同じ define は、ありません。 その代わり final を利用して、定数を定義できます。 public static final を利用します。たとえば、以下のようなコードになります。
public static final int TIMER_STOP = 0;
ソースコード
以下は、定数クラスを利用する例です。
public class Foo { private FOO() {} // オブジェクト化したくない場合 public static final int TIMER_STOP = 0; }
クラス外からは、以下のように利用できます。
int i = Foo.TIMER_STOP;
以下は、一般的なクラスです。
// オブジェクト化 OK public class Bar { public static final int TIMER_STOP = 0; public Bar () { } }
クラス内からなら、クラス名なしに利用できます。
int i = TIMER_STOP;