天天看點

接口的預設方法

1 package Port;
 2 /*
 3     從java 8開始,接口裡允許定義預設方法
 4     格式:
 5     public default 傳回值類型 方法名稱(參數清單){
 6         方法體
 7     }
 8     備注:接口當中預設方法,可以解決接口更新問題。
 9  */
10 public interface InterfaceDefault {
11     //抽象方法
12     public abstract void Method();
13     //新添加一個預設方法
14     public default void Method1(){
15         System.out.println("這是新添加的預設方法");
16     }
17 }      
package Port;

public class Demo {
    public static void main(String[] args) {
        //建立了實作類對象
        Come A = new Come();
        A.Method();//調用抽象方法,實際運作的是右側實作類

        //調用預設方法,如果實作類當中沒有,會向上找接口
        A.Method1();
        System.out.println("==========================");

        Conme1 B = new Conme1();
        B.Method();
        B.Method1();//實作類B覆寫重寫了接口的預設方法
    }
}      
1 package Port;
 2 /*
 3     1.接口的預設方法,可以通過接口實作類對象,可以直接調用。
 4     2.接口的預設方法,也可以被接口實作類進行覆寫重寫。
 5  */
 6 public class Conme1 implements InterfaceDefault {
 7     @Override
 8     public void Method(){
 9         System.out.println("實作了抽象方法1");
10     }
11     @Override
12     public void Method1(){
13         System.out.println("實作類B 覆寫重寫完成!");
14     }
15 }