Java8函數式接口與@FunctionlInterface


Java8規定:如果接口中只有一個抽象方法(可以包含多個默認方法或多個static方法),該接口就是函數式接口。@FunctionlInterface就是用來指定某個接口必須是函數式接口。例如,如下程序就使用@FunctionlInterface修飾函數式接口。

@FunctionalInterface
public interface FunInterface {
    static void foo(){
        System.out.println("foo類方法");
    }
    default void bar(){
        System.out.println("bar 默認方法");
    }
    void test();//只定義一個抽象方法
}

編譯上面程序,可能絲毫看不出程序中的@FunctionalInterface有何作用,因為@FunctionalInterface只是告訴編譯器檢查這個接口,保證該接口只能包含一個抽象方法,否則就會編譯出錯。@FunctionalInterface主要是幫助程序員避免一些低級錯誤,比如多個抽象方法。

注意:@FunctionalInterface只能修飾接口,不能修飾其他程序元素。


免責聲明!

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



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