Java匿名類和匿名函數(shù)的概念和寫法
前言
Lambda流式操作是Java8中重要的特性,lambda表達(dá)式核心概念為 函數(shù)式接口、::、-> 等基本語法,可以大大減少代碼量的編寫,使代碼更加優(yōu)雅
- 只有一個(gè)抽象函數(shù)的接口,就是函數(shù)式接口
- :: 可以稱之為域運(yùn)算符,主要是用來獲取方法
- -> 的語法為 (變量或參數(shù))->{代碼體},是匿名函數(shù)的寫法。也叫變量和代碼的分隔符
- 當(dāng)只獲取一個(gè)方法屬性的時(shí)候 :: 和 -> 可以通用
介紹
接口:
- 接口可以定義在另一個(gè)類的內(nèi)部
- 接口中的方法都是抽象方法
- 接口中的常量都是靜態(tài)常量
類:
- 類可以定義在另一個(gè)類的內(nèi)部
- 也可以定義為內(nèi)部靜態(tài)類,使用 static 關(guān)鍵字
- 還可以定義為局部內(nèi)部類,定義在方法中
一、什么是Lambda表達(dá)式?
lambda表達(dá)式是為了簡寫代碼的寫法
二、什么是函數(shù)式接口?
只有一個(gè)抽象方法的接口就是函數(shù)式接口
//1.定義一個(gè)函數(shù)式接口。只有一個(gè)抽象方法的接口就是函數(shù)式接口
interface ILike{
void testLambda();
}三、什么是匿名內(nèi)部類?
- 沒有類名
- 必須借助接口或父類
- 通過實(shí)例化函數(shù)式接口就可以完成匿名內(nèi)部類實(shí)現(xiàn)此接口并重寫方法
//5.匿名內(nèi)部類,沒有類名稱,必須借助接口
like = new ILike() {
@Override
public void testLambda() {
System.out.println("i like lambda4");
}
};
like.testLambda();四、用 Lambda 簡化匿名內(nèi)部類的寫法
- 匿名內(nèi)部類是為了省去類名的寫法
- Lambda 簡化寫法不但可以省去類名,還可以省去接口名和函數(shù)名。因?yàn)橹挥幸粋€(gè)抽象方法,可以直接實(shí)現(xiàn)并指向這個(gè)抽象方法和方法體
//6.用lambda簡化,因?yàn)榻涌谥兄挥幸粋€(gè)函數(shù),所以可以直接省略實(shí)例化的接口名和函數(shù)名
like = () -> {
System.out.println("i like lambda5");
};
like.testLambda();結(jié)論
匿名函數(shù)寫法和匿名類寫法的前提必須基于函數(shù)式接口匿名函數(shù)寫法和匿名類寫法其本質(zhì)是同一個(gè)東西,只是簡化寫法不同使用Lambda表達(dá)式簡寫匿名函數(shù)時(shí),可以同時(shí)省略實(shí)現(xiàn)類名、函數(shù)名。除此外也可以使用傳統(tǒng)寫法
到此這篇關(guān)于Java匿名類和匿名函數(shù)的概念和寫法的文章就介紹到這了,更多相關(guān)java匿名類和匿名函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
eclipse maven maven-archetype-webapp 創(chuàng)建失敗問題解決
這篇文章主要介紹了eclipse maven maven-archetype-webapp 創(chuàng)建失敗問題解決的相關(guān)資料,需要的朋友可以參考下2016-12-12
Java實(shí)現(xiàn)鼠標(biāo)模擬與鍵盤映射
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)鼠標(biāo)模擬與鍵盤映射,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Spring Boot接收單個(gè)String入?yún)⒌慕鉀Q方法
這篇文章主要給大家介紹了關(guān)于Spring Boot接收單個(gè)String入?yún)⒌慕鉀Q方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
Springboot使用Redis中ZSetOperations實(shí)現(xiàn)博客訪問量
在日常的網(wǎng)站使用中,經(jīng)常會碰到頁面的訪問量,本文主要介紹了Springboot使用Redis中ZSetOperations實(shí)現(xiàn)博客訪問量,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01

