欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java匿名類和匿名函數(shù)的概念和寫(xiě)法

 更新時(shí)間:2023年06月09日 09:28:35   作者:明月一壺酒  
匿名函數(shù)寫(xiě)法和匿名類寫(xiě)法的前提必須基于函數(shù)式接口匿名函數(shù)寫(xiě)法和匿名類寫(xiě)法其本質(zhì)是同一個(gè)東西,只是簡(jiǎn)化寫(xiě)法不同使用Lambda表達(dá)式簡(jiǎn)寫(xiě)匿名函數(shù)時(shí),可以同時(shí)省略實(shí)現(xiàn)類名、函數(shù)名,這篇文章主要介紹了Java匿名類和匿名函數(shù)的概念和寫(xiě)法,需要的朋友可以參考下

前言

Lambda流式操作是Java8中重要的特性,lambda表達(dá)式核心概念為 函數(shù)式接口、::、-> 等基本語(yǔ)法,可以大大減少代碼量的編寫(xiě),使代碼更加優(yōu)雅

  • 只有一個(gè)抽象函數(shù)的接口,就是函數(shù)式接口
  • :: 可以稱之為域運(yùn)算符,主要是用來(lái)獲取方法
  • -> 的語(yǔ)法為 (變量或參數(shù))->{代碼體},是匿名函數(shù)的寫(xiě)法。也叫變量和代碼的分隔符
  • 當(dāng)只獲取一個(gè)方法屬性的時(shí)候 :: 和 -> 可以通用

介紹

接口:

  • 接口可以定義在另一個(gè)類的內(nèi)部
  • 接口中的方法都是抽象方法
  • 接口中的常量都是靜態(tài)常量

類:

  • 類可以定義在另一個(gè)類的內(nèi)部
  • 也可以定義為內(nèi)部靜態(tài)類,使用 static 關(guān)鍵字
  • 還可以定義為局部?jī)?nèi)部類,定義在方法中

一、什么是Lambda表達(dá)式?

lambda表達(dá)式是為了簡(jiǎn)寫(xiě)代碼的寫(xiě)法

二、什么是函數(shù)式接口?

        只有一個(gè)抽象方法的接口就是函數(shù)式接口

//1.定義一個(gè)函數(shù)式接口。只有一個(gè)抽象方法的接口就是函數(shù)式接口
interface ILike{
    void testLambda();
}

三、什么是匿名內(nèi)部類?

  • 沒(méi)有類名
  • 必須借助接口或父類
  • 通過(guò)實(shí)例化函數(shù)式接口就可以完成匿名內(nèi)部類實(shí)現(xiàn)此接口并重寫(xiě)方法
//5.匿名內(nèi)部類,沒(méi)有類名稱,必須借助接口
like = new ILike() {
    @Override
    public void testLambda() {
        System.out.println("i like lambda4");
    }
};
like.testLambda();

四、用 Lambda 簡(jiǎn)化匿名內(nèi)部類的寫(xiě)法

  • 匿名內(nèi)部類是為了省去類名的寫(xiě)法
  • Lambda 簡(jiǎn)化寫(xiě)法不但可以省去類名,還可以省去接口名和函數(shù)名。因?yàn)橹挥幸粋€(gè)抽象方法,可以直接實(shí)現(xiàn)并指向這個(gè)抽象方法和方法體
//6.用lambda簡(jiǎn)化,因?yàn)榻涌谥兄挥幸粋€(gè)函數(shù),所以可以直接省略實(shí)例化的接口名和函數(shù)名
like = () -> {
    System.out.println("i like lambda5");
};
like.testLambda();

結(jié)論

匿名函數(shù)寫(xiě)法和匿名類寫(xiě)法的前提必須基于函數(shù)式接口匿名函數(shù)寫(xiě)法和匿名類寫(xiě)法其本質(zhì)是同一個(gè)東西,只是簡(jiǎn)化寫(xiě)法不同使用Lambda表達(dá)式簡(jiǎn)寫(xiě)匿名函數(shù)時(shí),可以同時(shí)省略實(shí)現(xiàn)類名、函數(shù)名。除此外也可以使用傳統(tǒng)寫(xiě)法

到此這篇關(guān)于Java匿名類和匿名函數(shù)的概念和寫(xiě)法的文章就介紹到這了,更多相關(guān)java匿名類和匿名函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot創(chuàng)建maven多模塊項(xiàng)目實(shí)戰(zhàn)代碼

    SpringBoot創(chuàng)建maven多模塊項(xiàng)目實(shí)戰(zhàn)代碼

    本篇文章主要介紹了SpringBoot創(chuàng)建maven多模塊項(xiàng)目實(shí)戰(zhàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Mybatis使用update更新值為null時(shí)不生效問(wèn)題解決

    Mybatis使用update更新值為null時(shí)不生效問(wèn)題解決

    這篇文章主要介紹了Mybatis使用update更新值為null時(shí)不生效問(wèn)題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 淺析java 希爾排序(Shell)算法

    淺析java 希爾排序(Shell)算法

    這篇文章主要介紹了淺析java 希爾排序(Shell)算法的原理以及示例,需要的朋友可以參考下
    2015-02-02
  • Fluent Mybatis 批量更新的使用

    Fluent Mybatis 批量更新的使用

    本文主要介紹了Fluent Mybatis 批量更新的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaWeb框架MVC設(shè)計(jì)思想詳解

    JavaWeb框架MVC設(shè)計(jì)思想詳解

    這篇文章主要介紹了JavaWeb框架MVC設(shè)計(jì)思想詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • 非常全面的IReport的使用教程

    非常全面的IReport的使用教程

    iReport 是為JasperReports Library和JasperReports Server設(shè)計(jì)的報(bào)表可視化設(shè)計(jì)器。本教程給大家詳細(xì)介紹IReport的使用解析,感興趣的朋友一起看看吧
    2021-10-10
  • spring boot創(chuàng)建項(xiàng)目包依賴問(wèn)題的解決

    spring boot創(chuàng)建項(xiàng)目包依賴問(wèn)題的解決

    本篇文章主要介紹了spring boot創(chuàng)建項(xiàng)目包依賴問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • Spring?@Cacheable讀取配置常量方式

    Spring?@Cacheable讀取配置常量方式

    這篇文章主要介紹了Spring?@Cacheable讀取配置常量方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java上乘武功入門--反射

    java上乘武功入門--反射

    反射是Java的一種機(jī)制,一般也叫做反射機(jī)制,本文會(huì)講反射機(jī)制是什么和怎么使用,喜歡的朋友可以觀看一下,希望能給你帶來(lái)幫助
    2021-07-07
  • Java面試題沖刺第二十三天--算法(2)

    Java面試題沖刺第二十三天--算法(2)

    這篇文章主要為大家分享了最有價(jià)值的三道關(guān)于算法的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評(píng)論