Java8新特性–Interface中的default方法(接口默認方法)

 

在Java8的新特性中有一個新特性爲接口默認方法,該新特性容許咱們在接口中添加一個非抽象的方法實現,而這樣作的方法只須要使用關鍵字default修飾該默認實現方法便可。該特性又叫擴展方法code

直接上代碼: 
使用Java8新特性定義一個擴展方法:orm

public interface Formula {
    double calculate(int a);
    default double sqrt(int a){
        return Math.sqrt(a);
    }
}
public class Bootstrap {
    public static void main(String[] args){
        Formula formula = new Formula(){
            public double calculate(int a){
                return sqrt(a * 100);
            }
            // 本來應該實現的sqrt方法因爲新特性的出現,變得再也不那麼冗餘了
        };
        System.out.println(formula.calculate(100));    
        System.out.println(formula.sqrt(16));
    } 
}

經過該特性,咱們將可以很方便的實現接口默認實現類。這個特性在編譯器實現的角度來講更接近於Scala的trait。接口

相關文章
相關標籤/搜索