在JDK8之前, 接口中都只能有抽象方法, 而不能有實現方法, 但是在JDK8之後, 接口中也可以添加非抽象方法了, 在接口中添加非抽象方法, 使用特殊的關鍵字default進行修飾, 所以實現了該接口的類都可以調用接口的default的方法, 這樣可以保證在不改變接口特性的情況下, 對接口增加一些行爲, 有需要時可以使用接口的默認方法, 同時又不會影響現有已實現了該接口的方法, 代碼示例如下:
interface MyInterface {
// 這個方法不重要
void print();
// 接口默認方法
default void defaultMethod(){
System.out.println("接口默認實現方法...");
}
}
/**
* 接口默認方法測試
*
* @author 七夜雪
* @date 2019-01-09 7:12
*/
public class InterfaceDefaultMethod {
public static void main(String[] args) {
// lambda表達式實現接口
MyInterface myInterface = () -> {};
myInterface.defaultMethod();
}
}
輸出:
接口默認實現方法...