JDK1 8新特性 函式式介面

2021-10-05 22:37:26 字數 917 閱讀 3223

只有乙個抽象方法(object類中的方法除外)的介面是函式式介面

supplier代表乙個輸出

consumer代表乙個輸入

biconsumer代表兩個輸入

function代表乙個輸入,乙個輸出(一般輸入和輸出是不同型別的)

unaryoperator代表乙個輸入,乙個輸出(輸入和輸出是相同型別的)

bifunction代表兩個輸入,乙個輸出(一般輸入和輸出是不同型別的)

binaryoperator代表兩個輸入,乙個輸出(輸入和輸出是相同型別的)

(1)靜態方法的引用:如果函式式介面的實現恰好可以通過呼叫乙個靜態方法來實現,那麼就可以使用靜態方法引用

(2)例項方法的引用:如果函式式介面的實現恰好可以通過呼叫乙個例項的例項方法來實現,那麼就可以使用例項方法引用

(3)物件方法的引用:抽象方法的第乙個引數型別剛好是例項方法的型別,抽象方法剩餘的引數恰好可以當做例項方法的引數。如果函式式介面的實現能由上面說的例項方法呼叫來實現的話,那麼就可以使用物件方法引用

(4)構造方法的引用:如果函式式介面的實現恰好可以通過呼叫乙個類的構造方法來實現,那麼就可以使用構造方法引用

JDK1 8新特性函式式介面

對於只有乙個抽象方法的介面,需要這種介面的物件,就可以提供乙個lambda表示式。這種介面稱為函式式介面 functional inte ce 在定義函式式介面的時候可以加入 functionalinte ce註解來修飾該介面 documented retention retentionpolicy...

JDK1 8新特性 函式式介面測試

jdk1.8新特性 函式式介面測試 函式式介面指僅僅包含乙個抽象方法的介面,每乙個該型別的方法都會匹配到這個抽象方法 預設方法不算抽象方法,也可以給函式式介面新增預設方法 函式式介面宣告 在介面上面加註解 functionalinte ce,如果編譯器發現該介面下面有多於乙個的抽象方法,就會報錯 a...

JDK1 8 函式式介面

前言 公司專案中大量使用了該新特性,故對此進行學習總結 consumer消費型介面 之所以叫做消費型按照我的理解 消費 邏輯處理 傳入的資料 抽象方法 void accept t t 接收乙個引數進行消費,但無需返回結果。介面.accept x 意思就是將x的引數,帶入到介面裡去執行 預設方法 an...