インタフェースの変数定義

Revised: May/23rd/2004: Since: Dec./31st/2001

インタフェースでは変数宣言と抽象メソッド宣言が出来ます。ここでは変数宣言の具体的な方法について紹介します。

インタフェースの変数宣言では、インタフェースでの宣言時に具体的な値を代入しなければなりません。自動的に修飾子public static final 宣言されるので、事実上定数といった方がいいでしょう。定数定義をインタフェースにまとめておくことができます。

サンプル

次のサンプルは二つのクラスと一つのインタフェースが定義されている。インタフェースは変数定義のみ行ない、実装クラスではその総和と平均を出力する。

TestInterface2.java:

// インタフェース
interface Const {
	int c1 = 85, c2 = 94, c3 = 72;
}
// 実装クラス
class Total implements Const {
	void tsum() {
		int tot;
		tot = c1 + c2 + c3;
		System.out.println("Total: " + tot);
		tot /= 3;
		System.out.println(" Mean: " + tot);
	}
}
// コントロールクラス
class TestInterface2 {
	public static void main(String[] args) {
		Total obj = new Total();
		obj.tsum();
	}
}
C:\Java>javac TestInterface2.java
C:\Java>java TestInterface2
Total: 251
 Mean: 83

インタフェース変数へのアクセス

インタフェースのフィールドは static 宣言されているので、実装していないクラスからでもアクセスできます。

TestInterface3.java:

//インタフェース
interface Const {
	int c1 = 10, c2 = 20, c3 = 30;
}
//実装クラスではない一般のクラス
class TestInterface3 {
	public static void main(String[] args) {
		System.out.println(Const.c1);
		System.out.println(Const.c2);
		System.out.println(Const.c3);
	}
}
C:\Java>javac TestInterface3.java
C:\Java>java TestInterface3
10
20
30


Copyright © 2001-2004 SUGAI, Manabu. All Rights Reserved.