カテゴリー
Java

インターフェイスについて知ろう

この章ではインターフェイスについて説明します。
インターフェイスは抽象クラスと使い方がほとんど同じなのですが、インターフェイスもメソッドの宣言だけをして、メソッドの中身は受け継いだクラスで実装します。 
実装とは機能を加えていく作業のことを言います。
抽象クラスは中身のある普通のメソッドも書けましたが、インターフェイスは中身のあるメソッドを一切書くことは出来ません。1 実装ではインターフェイスの中で宣言をしたメソッドの中身を書いていきます。
インターフェイスではメソッドの中身を書くことが出来ません。
つまり、すべてが抽象メソッドになりますが、1 などとabstractは付ける必要はありません。
また、インターフェイスの中には定数を書くことが出来ます。
定数とは書き替えることが出来ないデータのことを言います。
例えば次の例で説明する1は一見普通のフィールド変数のように見えますが、これは1が省略されています。
つまり、「班を分けるプログラムを作ろう」で説明した通りfinal装飾子を付けた変数は改めてデータを入れることが出来なくなります。
ではインターフェイスの例を見てみましょう。
これらの3つのプログラムはそれぞれ別のファイルに保存します。
この例のインターフェイスはSoldier1です。
sleepメソッド、eatメソッド、runメソッド、attackメソッドをインターフェイスで宣言していますが、実装はSpiderMan1クラスで行っています。
以下の例は「Soldier1.java」です。
1
以下の例は「SpiderMan1.java」です。
スペースの都合でインターフェイス名を2行目に書いています。111 以下の例は「Main9.java」です。1 Soldier1でsleepメソッド、eatメソッド、runメソッド、attackメソッドで中身のないメソッドを定義したので、必ずSpiderMan1クラスで実装しなくてはいけません。
結果は以下の通りです。1