您現在的位置是:首頁 > 單機遊戲首頁單機遊戲

Java之介面預設方法的定義和使用

簡介報錯,介面的實現類需要覆蓋重寫所有的抽象方法把新新增的方法,改成預設方法public default void methodfault(){public可以省略,可是default不可以省略System

方法預設為什麼型別

各位小夥伴們大家好,在之前的文章中小編有提到過,

在介面中包含有預設方法,

這次小編要講的是

Java當中預設方法的定義和使用

格式如下:

public default 返回值型別 方法名稱(引數列表){

方法體

}

介面當中的預設方法可以解決介面升級的問題。

程式碼如下:

//定義一個介面

public interface MyInterfaceDefault {

//抽象方法

public abstract void methodAbs();

//新新增抽象方法

//public abstract void methodAbs1();報錯,介面的實現類需要覆蓋重寫所有的抽象方法

//把新新增的方法,改成預設方法

public default void methodfault(){//public可以省略,可是default不可以省略

System。out。println(“新新增的預設方法”);

}

}

Java之介面預設方法的定義和使用

public class

MyInterfaceDefaultA implements MyInterfaceDefault

{

@Override

public void methodAbs() {

System。out。println(“實現抽象方法A”);

}

}

public class

MyInterfaceDefaultB

implements MyInterfaceDefault {

@Override

public void methodAbs() {

System。out。println(“實現抽象方法B”);

}

@Override

public void methodfault(){System.out.println("實現類B覆蓋重寫了介面的預設方法");

}

}

Java之介面預設方法的定義和使用

//main方法執行

public class Demo02Interface {

public static void main(String[] args) {

//建立實現類物件A

MyInterfaceDefaultA a=new MyInterfaceDefaultA();

a。methodAbs();//實現抽象方法A

//呼叫抽象方法,實際執行的是右側實現類。

//呼叫預設方法

a。methodfault();//新新增的預設方法

//建立實現類物件B

MyInterfaceDefaultB b=new MyInterfaceDefaultB();

b。methodAbs();//實現抽象方法B

b.methodfault();//實現類B覆蓋重寫了介面的預設方法

}

}

在上面的程式碼中,我們可以看到,

實現類並沒有覆蓋重寫Java中的預設方法,它可以透過實現類的物件直接呼叫,也可以被介面實現類進行覆蓋重寫。關於Java小編就先說到這裡,希望這篇文章可以幫到大家,也歡迎各位小夥伴補充和糾錯。

Top