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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM