Java8新特性--Interface中的default方法(介面預設方法)
阿新 • • 發佈:2019-01-25
Java8新特性–Interface中的default方法(介面預設方法)
在Java8的新特性中有一個新特性為介面預設方法,該新特性允許我們在介面中新增一個非抽象的方法實現,而這樣做的方法只需要使用關鍵字default修飾該預設實現方法即可。該特性又叫擴充套件方法。
直接上程式碼:
使用Java8新特性定義一個擴充套件方法:
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。