java8-新特性-01-接口的默認方法和靜態方法

1.接口裏也可以寫方法體了,實現該接口的類不再強制實現該方法,只需要在方法簽名增加default簽名並實現方法體.

2.接口可以定義靜態方法,通過接口調用。實現類不需實現,也無法在實現類中直接調用(需要使用接口名稱直接調用)


public interface Java8Interface {

    /**
     * 默認方法
     */
    default int add(int a,int b) {
        return a+b;
    }

    /**
     * 靜態方法
     */
    static int sub(int a,int b) {
        return a - b;
    }

    String call(String message);
}

調用方式如下所示,是不是比之前方便很多了!(暫不考慮繼承導致的歧義)

public class Java8InterfaceImpl implements Java8Interface {

    @Override
    public String call(String message) {
        return "hell : "+message;
    }

    public static void main(String[] args) {
        Java8InterfaceImpl model = new Java8InterfaceImpl();
        System.out.println(model.call("java8"));        // 調用實現的接口方法
        System.out.println(model.add(1,2));             // 調用接口默認的實現方法
        System.out.println(Java8Interface.sub(10,8));   // 調用接口靜態的實現方法
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章