プログラミング原人の進化ログ

プログラミング原人の進化論

オレ プログラミング ベンキョウ スル。マナンダ コト カク。

Javaのインターフェース(確認用)

Javaのインターフェースを勉強したので、そのメモです。
書式を確認するためのものです。

インターフェース

インターフェースは実体化することはできない。

インターフェースの宣言

次のように宣言する。

interface インターフェース名 {
  ...
  型 フィールド名 = 初期値;
  返り値の型 メソッド名(引数);
  ...
}

気をつけるべきことは、

  • フィールドは初期化する
  • メソッドは宣言するだけ(処理は書かない)
  • フィールドやメソッドを宣言するときには修飾子はつけない。

修飾子をつけないが、フィールドにはpublic static final、メソッドにはabstractをつけたのと同じになる。
つまり、フィールドは定数、メソッドは抽象メソッドとなる。

インターフェースの実装

インターフェースで宣言したメソッドの処理は、クラスで実装することになる。

class クラス名 implements インターフェース名 {
  ...
  // インターフェースで宣言したメソッドを定義
  ...
}

複数のインターフェースの実装

Javaでは多重継承(複数のスーパークラスを持つこと)はできないが、1つのクラスが複数のインターフェースを実装することはできる。

class クラス名 implements インターフェース1, インターフェース2, ... {
  ...
  // インターフェース1で宣言したメソッドを定義
  ...
  // インターフェース2で宣言したメソッドを定義
  ...
}

インターフェースの拡張

クラスの継承のようなもの。拡張の関係における親をスーパーインターフェース、子をサブインターフェースという。
複数のスーパーインターフェースを持つことができる。

interface サブインターフェース名 extends スーパーインターフェース1, スーパーインターフェース2, ... {
  ...
}

サブインターフェースを実装するクラスはスーパーインターフェースをも実装しなければならないことに注意。

参考

高橋麻奈(2019) 「やさしいJavaSBクリエイティブ株式会社