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