摘要:現(xiàn)實世界中的例子多線程中用于執(zhí)行無返回結(jié)果的接口,只有一個方法,很簡單的嘛使用示例在主線程外異步地執(zhí)行任務(wù)使用表達(dá)式彬哥一行代碼還是做了不少事情的嘛創(chuàng)建了一個異步任務(wù)。納尼哪里沒錯,就是彬哥,這是一個表達(dá)式。
Functional接口簡介
什么是Functional接口?
包含有單一抽象方法(Single Abstract Method)的接口就是Functional接口。簡單來說,就是有且只有一個非default方法的接口。為什么default方法不被計算進(jìn)去呢?原因也很簡單,因為default方法是已經(jīng)有了一個實現(xiàn)了啊,所以并不是抽象的。
所有Functional接口都建議打上@FunctionalInterface注解。
這樣做有兩個好處:
明確地表明了這個接口作用,告訴調(diào)用方,“我”可以作為lambda表達(dá)式使用。
借助編譯器來提前暴露錯誤。比如,你原本想寫一個Functional接口以便可以在lambda表達(dá)式中使用,但實際上這個接口卻包含了一個以上的非default方法,這時編譯器就會提示你,“小伙,你肯定弄錯了什么,這不是Functional接口啊”。
現(xiàn)實世界中的例子
多線程中用于執(zhí)行無返回結(jié)果的Runnable接口,只有一個run方法,很“簡單”的嘛!
@FunctionalInterface public interface Runnable { public abstract void run(); }
使用示例
在主線程外異步地執(zhí)行任務(wù)(使用lambda表達(dá)式):
public static void main(String[] args) { new Thread(() -> System.out.println("Hello 彬哥!")).start(); }
一行代碼還是做了不少事情的嘛:
創(chuàng)建了一個異步任務(wù)Runnable。納尼?哪里?沒錯, 就是() -> System.out.println("Hello 彬哥!"),這是一個lambda表達(dá)式。
使用上面創(chuàng)建的任務(wù),來構(gòu)造了一個新的線程,new Thread()。
啟動了這個線程,start()。
小結(jié)
只有一個抽象方法的接口是Functional接口,要打上@FunctionalInterface注解。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71725.html
摘要:相關(guān)接口簡介什么是接口,它代表這樣的一個函數(shù),接受一個參數(shù),然后返回一個結(jié)果。參數(shù)和返回值相互轉(zhuǎn)化的個作為參數(shù)的和個作為返回值的相互組合去掉重復(fù)的嗯,又到種接口,,,,,。 Function相關(guān)接口簡介 什么是Function接口? interface Function,它代表這樣的一個函數(shù),接受一個參數(shù),然后返回一個結(jié)果。 Function接口的functional方法 R app...
摘要:寫在前面最近在看實戰(zhàn)感覺這本書的排版紙質(zhì)內(nèi)容真的都超級棒個人覺得這本書還是很值得一讀本文簡單或詳細(xì)介紹一下的和表達(dá)式函數(shù)式接口是在才開始引入的首先看一下普通接口和函數(shù)式接口的區(qū)別普通接口指的是一些具有相同屬性和行為的類的抽象函數(shù)式接口也是同 寫在前面: 最近在看,感覺這本書的排版,紙質(zhì),內(nèi)容真的都超級棒,個人覺得這本書還是很值得一讀.本文簡單或詳細(xì)介紹一下Java8的Functiona...
摘要:函數(shù)式編程說前,先理解下什么是函數(shù)式編程,如果你是個純程序員,而且之前一直是沒有使用過,可能還沒有使用過這種編程方式。表達(dá)式可以表示閉包注意和數(shù)學(xué)傳統(tǒng)意義上的不同。意思就是說,只要是接口類型,我們都可以傳入表達(dá)式。在包下定義了各種函數(shù)接口 函數(shù)式編程 說lambdas前,先理解下什么是函數(shù)式編程,如果你是個純Java程序員,而且之前一直是沒有使用過Java8,可能還沒有使用過這種編程方...
摘要:從試著改進(jìn)可重用做起泊學(xué)視頻回想起每次更新泊學(xué)網(wǎng)站,最讓我頭疼的,就是改寫。于是我?guī)缀醪患偎妓鞯膶懗隽诉@樣的模板它同樣包含了一個封面圖,一個標(biāo)題和一個簡介。 從試著改進(jìn)可重用CSS做起 泊學(xué)4K視頻 回想起每次更新泊學(xué)網(wǎng)站,最讓我頭疼的,就是改寫CSS。在不同的階段,對CSS不斷深入的理解,對網(wǎng)站內(nèi)容的調(diào)整,對UI的重用需求,都影響著CSS的編寫方式,因此,稍不留神,你的代碼理解就會充...
世界上最遙遠(yuǎn)的距離,不是生與死,而是它從你的世界路過無數(shù)次,你卻選擇視而不見,你無情,你冷酷啊...... showImg(https://segmentfault.com/img/remote/1460000019550563); 被你忽略的就是責(zé)任鏈設(shè)計模式,希望它再次經(jīng)過你身旁你會猛的發(fā)現(xiàn),并對它微微一笑...... 責(zé)任鏈設(shè)計模式介紹 抽象介紹 初次見面,了解表象,深入交流之后(看完文中的...
閱讀 711·2021-11-18 10:02
閱讀 3590·2021-09-02 10:21
閱讀 1750·2021-08-27 16:16
閱讀 2063·2019-08-30 15:56
閱讀 2390·2019-08-29 16:53
閱讀 1376·2019-08-29 11:18
閱讀 2960·2019-08-26 10:33
閱讀 2647·2019-08-23 18:34