抽象メソッドしか持たないクラス
インタフェースはクラスによって実装 (implements) され、
実装クラスはインタフェースで宣言されている抽象メソッドを実装
クラスの場合は、単一のクラスしか継承 (extends) できないが
インタフェースの場合は、複数のインタフェースを実装 (implements) することができる
class InterfaceImpl implements Interface1, interface2, interface3 {
...
}
[修飾子] interface <インタフェース名> {
データ型 変数名 = 値;
修飾子 戻り値のデータ型 メソッド名(引数の型宣言);
}
・interface の修飾子は public のみ
・インタフェースのメンバ変数は定数。必ず値が代入しなければならない
自動的に final public static 修飾子がつけられる
例)
interface Interface1 {
// フィールド
int INT_VAL1 = 10;
// 抽象メソッド
String method(int a, int b);
}
interface Interface2 {
// フィールド
int INT_VAL2 = 100;
// 抽象メソッド
void method(String s);
}
・インタフェースの実装
[修飾子] class <クラス名>
implements <インタフェース名リスト>{
メンバ変数
コンストラクタ
抽象メソッドの実装
普通のメソッド
など
}
例)
class TestInterface implements Interface1, Interface2 {
int x;
// インタフェースの実装
public String method(int a, int b) {
this.x = a + b;
return "----Interface1----";
}
// インタフェースの実装
public void method(String s) {
Syste.out.println(s);
}
}
http://msugai.fc2web.com/java/interface.html
— posted by midilin @ 10:22AM
最近のコメント