繼承父類並實現多個介面_hehe.base.10.3
阿新 • • 發佈:2021-01-03
10.10 繼承父類並實現多個介面
- 介面沒有靜態程式碼塊或者構造方法;
- 一個類的直接父類是唯一的,但一個類可以同時實現多個介面;
- 格式:
public class 實現類名稱 implements 介面A,介面b {
覆蓋重寫所有抽象方法
}
- 如果實現類所實現的多個介面當中,存在重複的抽象方法,那麼只需要覆蓋重寫一次即可;
- 如果實現類沒有覆蓋重寫所有介面當中的所有抽象方法,那麼實現類就必須是一個抽象類;
- 如果實現類實現的多個介面當中,存在重複的預設方法,那麼實現類一定要對衝突的預設方法進行覆蓋重寫;
package com.xww.day10.demo01; //介面A public interface MyInterfaceA { public abstract void methoda(); public abstract void methodab(); public default void method(){ } }
package com.xww.day10.demo01;
//介面B
public interface MyInterfaceB {
public abstract void methodb();
public abstract void methodab();
public default void method(){
}
}
package com.xww.day10.demo01; //實現類 public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB { @Override public void methoda() { System.out.println("介面A中的抽象方法"); } @Override public void methodb() { System.out.println("介面B中的抽象方法"); } @Override public void methodb() { System.out.println("介面A和B中的重複的抽象方法"); } @Override public void method() { System.out.println("覆蓋重寫A和B中重複的預設方法"); } }
- 一個類如果直接定義父類當中的方法,和介面當中的預設方法產生了衝突,優先使用父類當中的方法。