JavaでC言語のdefineの定数定義に相当するものは

提供: Java入門
2015年9月12日 (土) 19:05時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

C言語/C++言語では、定数の定義に プリプロセッサディレクティブ #define を利用できました。Java言語には、defineは存在しません。その代わり、finalで代替することができます。また、finalの代わりに、列挙型 enum を利用できます。

読み方

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;

関連項目




スポンサーリンク