JAVA Lambda表達式擴展

以前有寫過一篇文章,關於JAVA Lambda表達式的介紹,沒有了解過的朋友能夠先參考下:https://segmentfault.com/a/11...segmentfault

這篇文章的目的是讓你完全理解JAVA Lambda表達式。(先別急着感謝,看完你會很激動的,或者有所感悟)函數

JAVA Lambda表達式的本質

首先,全部關於JAVA Lambda表達式的文章都有着重說明函數式接口(
能夠被@FunctionalInterface註解修飾的接口)。工具

  • 函數式接口定義了Lambda表達式的格式。都說了他是一種表達式,那麼它的運算結果就是一個對象。
  • 爲何要是函數式接口呢,其餘接口不行嗎(只有一個抽象方法的接口才是函數式接口)? 由於JAVA Lambda表達式返回結果只有一個,只能對應一個抽象方法。
  • 抽象類的抽象方法是不支持Lambda表達式的。

JAVA Lambda表達式實現方式

其實上一篇文章只介紹Lambda表達式一種形式,Lambda表達式是有三種形式的。對象

  • (參數列表) -> {語句塊},->是必須有的
  • 對象方法引用,例如:System.out::println
  • 類方法引用。就是static修飾的方法,包括類,抽象類,接口。

總結

JAVA Lambda表達式就是一種表達式,返回結果值就是一個對象。至於函數式接口中定義的惟一一個抽象方法就是定義了表達式要實現的邏輯。執行這個返回對象表達式邏輯部分的代碼在你使用的工具類代碼中。接口

我以爲我說明白了,不知道你懂了沒有。get

相關文章
相關標籤/搜索