@634

インターフェースの多重実装の実験

Advertisement

多重実装

インターフェースを多重実装してみる。
public interface Car {
    public void run();
}

public interface Bicycle {
    public void run();
}

public class SuperVehicle implements Car, Bicycle{
    public void run(){};
}
インターフェースCarとBicycleに同じ定義のメソッドが存在する。この場合、問題なくコンパイル・実行を行うことができる。

次にインターフェースCarのrunメソッドの戻り値の型を変更してみる。
public interface Car {
    public boolean run();
}

public interface Bicycle {
    public void run();
}

public class SuperVehicle implements Car, Bicycle{
    public void run(){};
}

コンパイル
SuperVehicle.java:2:
SuperVehicle の run() は Bicycle の run() を実装できません。
互換性のない戻り値の型を使おうとしました。
検出値  : void
期待値  : boolean
    public void run();
                ^
エラー 1 個
コンパイルエラーとなった。

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール