Javaのインターフェース(確認用)
Javaのインターフェースを勉強したので、そのメモです。
書式を確認するためのものです。
インターフェース
インターフェースは実体化することはできない。
インターフェースの宣言
次のように宣言する。
interface インターフェース名 { ... 型 フィールド名 = 初期値; 返り値の型 メソッド名(引数); ... }
気をつけるべきことは、
- フィールドは初期化する
- メソッドは宣言するだけ(処理は書かない)
- フィールドやメソッドを宣言するときには修飾子はつけない。
修飾子をつけないが、フィールドにはpublic static final
、メソッドにはabstract
をつけたのと同じになる。
つまり、フィールドは定数、メソッドは抽象メソッドとなる。
インターフェースの実装
インターフェースで宣言したメソッドの処理は、クラスで実装することになる。
class クラス名 implements インターフェース名 { ... // インターフェースで宣言したメソッドを定義 ... }
複数のインターフェースの実装
Javaでは多重継承(複数のスーパークラスを持つこと)はできないが、1つのクラスが複数のインターフェースを実装することはできる。
class クラス名 implements インターフェース1, インターフェース2, ... { ... // インターフェース1で宣言したメソッドを定義 ... // インターフェース2で宣言したメソッドを定義 ... }
インターフェースの拡張
クラスの継承のようなもの。拡張の関係における親をスーパーインターフェース、子をサブインターフェースという。
複数のスーパーインターフェースを持つことができる。
interface サブインターフェース名 extends スーパーインターフェース1, スーパーインターフェース2, ... { ... }
サブインターフェースを実装するクラスはスーパーインターフェースをも実装しなければならないことに注意。