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