Java
クラス内に、含まれるメソッドに具体的な内容を記述せず、変数とメソッドの型のみを定義したクラス。
// インターフェースクラスの宣言 public interface Sports{ // メソッドの型のみ定義し、中身を一切記載しない。 // メソッドの宣言 public void winMessage(); // メソッドの宣言 public void loseMessage(); // メソッドの宣言 public String getRule(); // メソッドの宣言 public void setRule(String rule); }
つまり、今後インターフェースクラスを継承して作成されたクラスは、インターフェースクラスに定義されているメソッドを全て持つことを「約束」します。
// Sportsインターフェースクラスを継承 public class Soccer implements Sports { // Soccerクラスは、Sportsクラスに定義されているメソッドを全て定義(オーバーライド)しなければならない。 @Override public void winMessage() { } @Override public void loseMessage() { } @Override public String getRule() { } @Override public void setRule(String rule) { } }
// インターフェースクラスの宣言 public interface Human{ // メソッドの型のみ定義し、中身を一切記載しない。 // メソッドの宣言 public void speek(); // メソッドの宣言 public void listen(); } // Sports,Human 複数のインターフェース継承 public class Soccer implements Sports,Human { @Override public void winMessage() { } @Override public void loseMessage() { } @Override public String getRule() { } @Override public void setRule(String rule) { } @Override public void speek() { } @Override public void listen() { } }