[PR] 迷惑メール トップページプロ3ゼミJavaJava入門講座二学期単位10 →2時間目

2時間目 インタフェースを学ぶ


10−2−1.インタフェースの構文

 インタフェースは、抽象クラスよりも頻繁に使います。
Javaの標準クラスにも用意されています。
正確に言うと、インタフェースはクラスでは無いが標準クラスとしてまとめらることも多い。

●構文
interface インターフェイス名 {
    型名 フィールド名 = 式;
    戻り値型 メソッド名(引数);
}
 インタフェースには、フィールドには初期値を設定しないといけません。
又、具象メソッドを記述できず、すべて抽象メソッドしか記述できません。
フィールドには、public static final修飾子が付いていませんが、interfaceの場合は何も指定しなくても 「public static final 型名 フィールド名 = 式」と解釈されます。
メソッドも何も記述されなくてもabstract修飾子が付いた「abstract 戻り値型 メソッド名(引数)」と解釈さ れます。
フィールドもメソッドも明示的に修飾子を付けても構いません。

10−2−2.インタフェースの実装

 インタフェースは、クラスと違い継承ではなく実装をします。
以下に、インタフェースの実装を示します。
class クラス名 implements インタフェース名 {
    :
    :
}
 インタフェースを実装するキーワードは「implements」です。
継承とは違い、インタフェースは、複数実装する事ができます。
例えば、「インタフェース名, インタフェース名」の様に「,」カンマ演算子を使う事によって実現できます。
インタフェースを実装したクラスは、メソッドを全て実装する必要があり、実装しない場合はコンパイルエラ ーです。

以下にサンプルプログラムを示します。
Sample10_2_1.java
// サンプルインタフェース
interface SampleInterface {

    public int    number  = 10;   // 通常の書き方
    public static final int num     = 20;   // 明確な書き方

    // 通常の書き方
    public void view();

    // 明確な書き方
    public abstract void show();
}

// サンプルインタフェースを実装するインタフェースクラス
class InterfaceClass implements SampleInterface {

    public void view() {

        // 処理を実装する
        System.out.println("view()");
    }

    public void show() {

        // 処理を実装する
        System.out.println("show()");
    }

}

public class Sample10_2_1 {

    public static void main(String[] args) {

        InterfaceClass obj = new InterfaceClass();
        obj.view();
        obj.show();
    }

}
view()
show()


1時間目 抽象クラスを学ぶに戻る     3時間目 ポリモーフィズム再びに進む

単位10 抽象クラス及びインタフェースに戻る

トップページに戻る