インタフェース継承インタフェース、クラス実装インタフェース

1722 ワード

インタフェース継承インタフェース
  • 1.クラスとクラスの間には単一の継承があり、直接の親は
  • しかありません.
  • 2.クラスとインタフェースとの間には複数の実装があり、1つのクラスには複数のインタフェース
  • がある.
  • 3.インタフェースとインタフェースとの間には、マルチ継承
  • がある.
  • 注意事項:
  • 1.複数の親インタフェースにおける抽象メソッドが重複して関係がない(抽象的で大丈夫、メソッド体がない)
  • 2.複数の親インタフェースのデフォルトメソッドが重複している場合は、サブインタフェースはデフォルトメソッドの上書きを行う必要があり、defaultキーワードも必要です.(書き直さなければなりません.メソッドがあるので、中身が異なる可能性があります)*///implでは、インタフェースは複数のインタフェースの合計インタフェースを継承するだけでよく、書き換えるデフォルトの方法は再書き換える必要はありません.

  • インタフェースA
    コード:
    public interface MyInterfaceA {
    public abstract void methodA();
    public abstract  void methodCommon();
    public default void method(){System.out.println("AAA");}
    }
    

    インタフェースB
    コード:
    public interface MyInterfaceB {
    public abstract void methodB();
    public abstract  void methodCommon();
    public default void method(){System.out.println("AAA");}
    }
    

    総インタフェースはマルチインタフェースA,Bを継承する
    コード:
       public abstract void methodself();
    @Override
    default void method() {
        System.out.println("          ,       ");
    }
    }
    

    継承クラス
    コード:(ルールのいくつかの章で述べた.)
    public class MyInterfaceImpl implements MyInterface{
    @Override
    public void methodself() {
        System.out.println("Myinterface       ");
    }
    
    @Override
    public void methodA() {
       System.out.println("  A   ");
    }
    
    @Override
    public void methodB() {
    System.out.println("  B   ");
    }
    
    @Override
    public void methodCommon() {
    System.out.println("    !");
    }
    
    }
    

    プライマリクラス
    コード:
    public class Demo01Relations {
    public static void main(String[] args) {
     MyInterfaceImpl tt=new  MyInterfaceImpl();
     tt.method();
     //        !
       }
    }