Javaのインタフェースについて


Javaのインターフェイスはimplementsするクラスの振る舞いを規定するしくみで、実体を持たないメソッド郡の定義を行います。

public interface MyInterface {
public void hoge();
}

🍣 インターフェイスの要点

インタフェースの構文の要点です。

  • 宣言できるメソッドは抽象メソッドのみ
  • public staticな定数を宣言できる。定数のため初期化が必要
  • インスタンス化はできない。実装クラスは、抽象メソッドをオーバーライドする
  • 実装クラスを定義するには、implementsキーワードを利用する
  • インタフェースを元にサブインタフェースを作成する場合はextendsを利用する

🏈 インタフェースの修飾子

インタフェースの抽象メソッド、変数に付与される修飾子についてです。

  • 抽象メソッド => public abstract修飾子が付与
  • 変数 => static final修飾子が付与(定数となる)

🎃 インターフェースの注意点

インターフェイスは扱い方を既定するもので、実装はもてません。インターフェイスに定義できるフィールドは、

  • finalを使って定義する「定数」
  • staticをつかってインスタンス生成できなくても使えるもの

これ以外の、動的に値が変わるフィールドは記述できません。

🐝 インターフェースの継承

extendsは拡張することで、インターフェースでも継承して拡張できます。

public interface SubInterface extends SuperInterface {
// any definition
}

🐡 参考リンク

📚 おすすめの書籍