はじめに
皆さん。こんにちは!
DreamHanksの254cmです。
今回はインターフェースについて説明していきます。
Java記事のまとめはこちらです。
前回の記事は【Java開発】第17回 抽象クラスです。
インターフェース
インターフェースは抽象メソッドは定数で構成されているもので、 クラスが提供する機能を宣言する役割をします。
抽象メソッドは定数で構成されているので、インターフェースはインスタンスを生成することができません。
インターフェースは主にほかのクラスに継承されて使われます。
インターフェースの書き方
1 2 3 4 |
アクセス制御子 interface インターフェース名 { データ型 定数名 = 値; アクセス制御子 メソッド名(引数) } |
インターフェースは抽象メソッドと定数で構成されていますが、 定数を意味する「static final」キー
ワードと抽象メソッドを意味する「abstract」は 省略しても構いません。
アクセス制御子はインターフェースの抽象メソッドはどこでも実装できなければならないため、
publicしかできないです。Publicをつけなければコンパイラはdefaultではなくpublicをつけます。
サンプル
上記のサンプルを見ると、フィールドはすべて定数なので初期化をしないと使えません。
メソッドはpublic以外のものをつけると使えません。
インターフェースの実装
インターフェースは抽象メソッドと定数で構成されているので、
ほかのクラスで継承され、抽象メソッドを実装して使います。
インターフェースの実装の書き方
1 |
class クラス名 implements インターフェース名 |
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
public interface AnimalInterface { int foot = 4; void cry(); void move(); void displayInformation(); } public class Dog implements AnimalInterface { @Override public void cry() { System.out.println("bow wow"); } @Override public void move() { System.out.println("moved"); } @Override public void displayInformation() { System.out.println("foot :" + AnimalInterface.foot); } } |
インターフェースの多重継承
クラスは継承を一つしか行えないですが、インターフェースはいくつでも継承することができます。
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
public interface PetInterface { void stroll(); } public interface AnimalInterface { int foot = 4; void cry(); void move(); void displayInformation(); } public class Dog implements AnimalInterface,PetInterface { @Override public void cry() { System.out.println("bow wow"); } @Override public void move() { System.out.println("moved"); } @Override public void displayInformation() { System.out.println("foot :" + AnimalInterface.foot); } @Override public void stroll() { System.out.println("take a walk"); } } |
終わりに
今回の記事は以上になります。
次回は例外処理を学びましょう。
ご覧いただきありがとうございます。
コメント