在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。
————————————————
版權聲明:本文為CSDN博主「SerenoShen」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/shenlei19911210/java/article/details/50740606