Java/インターフェース luckey!!!! - memo random

Java

インターフェース

  • インターフェースクラスとは
    抽象クラスの一部で、クラス内に、含まれるメソッドに具体的な内容を記述せず、変数とメソッドの型のみを定義したクラス。
    ※抽象クラスのabstract修飾詞がついていないが、暗黙的に付与されている。明示的に指定することも可能。
    1. // インターフェースクラスの宣言
    2. public interface Sports{
    3.     // メソッドの型のみ定義し、中身を一切記載しない。
    4.     // メソッドの宣言
    5.     public void winMessage();
    6.     // メソッドの宣言
    7.     public void loseMessage();
    8.     // メソッドの宣言
    9.     public String getRule();
    10.     // メソッドの宣言
    11.     public void setRule(String rule);
    12. }
  • 特徴
    • インターフェースクラスを継承したクラスは、必ずインターフェースクラス内にあるメソッドを全てオーバーライドしなければならない。
      →今後インターフェースクラスを継承して作成されたクラスは、インターフェースクラスに定義されているメソッドを全て持つことを「約束」しています。
      1. // Sportsインターフェースクラスを継承
      2. public class Soccer implements Sports {
      3.     // Soccerクラスは、Sportsクラスに定義されているメソッドを全て定義(オーバーライド)しなければならない。
      4.     @Override
      5.     public void winMessage() {
      6.     }
      7.  
      8.     @Override
      9.     public void loseMessage() {
      10.     }
      11.  
      12.     @Override
      13.     public String getRule() {
      14.     }
      15.  
      16.     @Override
      17.     public void setRule(String rule) {
      18.     }
      19.  
      20. }
    • インターフェースクラスの多重継承を許可する。
      1. // インターフェースクラスの宣言
      2. public interface Human{
      3.     // メソッドの型のみ定義し、中身を一切記載しない。
      4.     // メソッドの宣言
      5.     public void speek();
      6.     // メソッドの宣言
      7.     public void listen();
      8. }
      9.  
      10. // Sports,Human 複数のインターフェース継承
      11. public class Soccer implements Sports,Human {
      12.     @Override
      13.     public void winMessage() {
      14.     }
      15.  
      16.     @Override
      17.     public void loseMessage() {
      18.     }
      19.  
      20.     @Override
      21.     public String getRule() {
      22.     }
      23.  
      24.     @Override
      25.     public void setRule(String rule) {
      26.     }
      27.  
      28.     @Override
      29.     public void speek() {
      30.     }
      31.  
      32.     @Override
      33.     public void listen() {
      34.     }
      35. }

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-29 (水) 09:48:43 (2307d)