1. 程式人生 > >Java8新特性--Interface中的default方法(介面預設方法)

Java8新特性--Interface中的default方法(介面預設方法)

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。