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
}

😼 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)