最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Lambda表達(dá)式與匿名內(nèi)部類的聯(lián)系和區(qū)別實(shí)例分析

 更新時(shí)間:2019年10月08日 08:42:53   作者:cakincqm  
這篇文章主要介紹了Java Lambda表達(dá)式與匿名內(nèi)部類的聯(lián)系和區(qū)別,結(jié)合實(shí)例形式分析了Java Lambda表達(dá)式與匿名內(nèi)部類功能、用法、區(qū)別及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Java Lambda表達(dá)式與匿名內(nèi)部類的聯(lián)系和區(qū)別。分享給大家供大家參考,具體如下:

一 點(diǎn)睛

Lambda表達(dá)式與匿名內(nèi)部類存在如下相同點(diǎn):

  • Lambda表達(dá)式與匿名內(nèi)部類一樣,都可以直接訪問“effectively final”的局部變量,以及外部類的成員變量(包括實(shí)例變量和類變量)。
  • Lambda表達(dá)式創(chuàng)建的對象與匿名內(nèi)部類生成的對象一樣, 都可以直接調(diào)用從接口繼承得到的默認(rèn)方法。

Lambda表達(dá)式與匿名內(nèi)部類主要存在如下區(qū)別:

  • 匿名內(nèi)部類可以為任意接口創(chuàng)建實(shí)例——不管接口包含多少個(gè)抽象方法,只要匿名內(nèi)部類實(shí)現(xiàn)所有的抽象方法即可。但Lambda表達(dá)式只能為函數(shù)式接口創(chuàng)建實(shí)例。
  • 匿名內(nèi)部類可以為抽象類、甚至普通類創(chuàng)建實(shí)例,但Lambda表達(dá)式只能為函數(shù)式接口創(chuàng)建實(shí)例。
  • 匿名內(nèi)部類實(shí)現(xiàn)的抽象方法的方法體允許調(diào)用接口中定義的默認(rèn)方法;但Lambda表達(dá)式的代碼塊不允許調(diào)用接口中定義的默認(rèn)方法。

二 實(shí)戰(zhàn)

1 代碼

@FunctionalInterface
interface Displayable
{
  //定義一個(gè)抽象方法和默認(rèn)方法
  void display();
  default int add(int a,int b)
  {
    return a+b;
  }
}
public class LambdaAndInner {
  private int age =15;
  private static String name="外部類類變量";
  public void test()
  {
    String book="我是effectively final";
    Displayable dis =()->
    {
      //訪問 effectively final 的局部變量
      System.out.println("book局部變量為:"+book);
      //訪問外部類的類變量和實(shí)例變量
      System.out.println("外部類的age實(shí)例變量為:"+age);
      System.out.println("外部類的name類變量為:"+name);
    };
    dis.display();
    //調(diào)用dis對象從接口繼承的add方法
    System.out.println(dis.add(3,5));
  }
  public static void main(String[] agrs)
  {
    LambdaAndInner lambda = new LambdaAndInner();
    lambda.test();
  }
}

2 運(yùn)行

book局部變量為:我是effectively final

外部類的age實(shí)例變量為:15

外部類的name類變量為:外部類類變量

8

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java Session會話追蹤原理深入分析

    Java Session會話追蹤原理深入分析

    web開發(fā)階段我們主要是瀏覽器和服務(wù)器之間來進(jìn)行交互。瀏覽器和服務(wù)器之間的交互就像人和人之間進(jìn)行交流一樣,但是對于機(jī)器來說,在一次請求之間只是會攜帶著本次請求的數(shù)據(jù)的,但是可能多次請求之間是會有聯(lián)系的,所以提供了會話機(jī)制
    2022-11-11
  • Java實(shí)現(xiàn)時(shí)間動態(tài)顯示方法匯總

    Java實(shí)現(xiàn)時(shí)間動態(tài)顯示方法匯總

    這篇文章主要介紹了Java實(shí)現(xiàn)時(shí)間動態(tài)顯示方法匯總,很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • Java中的枚舉enum詳細(xì)解讀

    Java中的枚舉enum詳細(xì)解讀

    這篇文章主要介紹了Java中的枚舉enum詳細(xì)解讀,當(dāng)我們使用enum關(guān)鍵字開發(fā)一個(gè)枚舉類時(shí),默認(rèn)會繼承Enum類,而且是一個(gè)final類,當(dāng)有多個(gè)枚舉對象時(shí),使用逗號 ,隔開,最后一個(gè)用分號;結(jié)尾,需要的朋友可以參考下
    2024-01-01
  • mybatis一對多方式實(shí)現(xiàn)批量插入

    mybatis一對多方式實(shí)現(xiàn)批量插入

    這篇文章主要介紹了mybatis一對多方式實(shí)現(xiàn)批量插入,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java Mybatis框架Dao層的實(shí)現(xiàn)與映射文件以及核心配置文件詳解分析

    Java Mybatis框架Dao層的實(shí)現(xiàn)與映射文件以及核心配置文件詳解分析

    MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO為數(shù)據(jù)庫中的記錄
    2021-10-10
  • Java常用鎖synchronized和ReentrantLock的區(qū)別

    Java常用鎖synchronized和ReentrantLock的區(qū)別

    這篇文章主要介紹了Java常用鎖synchronized和ReentrantLock的區(qū)別,二者的功效都是相同的,但又有很多不同點(diǎn),下面我們就進(jìn)入文章了解具體的相關(guān)內(nèi)容吧。需要的小伙伴也可以參考一下
    2022-05-05
  • spring項(xiàng)目自定義全局響應(yīng)處理器統(tǒng)一處理響應(yīng)結(jié)果的實(shí)現(xiàn)步驟

    spring項(xiàng)目自定義全局響應(yīng)處理器統(tǒng)一處理響應(yīng)結(jié)果的實(shí)現(xiàn)步驟

    本文詳細(xì)描述了如何通過@ControllerAdvice和ResponseBodyAdvice在SpringMVC項(xiàng)目中創(chuàng)建自定義響應(yīng)處理器,以及如何使用Wrapper類包裝和標(biāo)準(zhǔn)化返回結(jié)果,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • 使用maven-archetype-plugin現(xiàn)有項(xiàng)目生成腳手架的方法

    使用maven-archetype-plugin現(xiàn)有項(xiàng)目生成腳手架的方法

    這篇文章主要介紹了使用maven-archetype-plugin現(xiàn)有項(xiàng)目生成腳手架的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • JAVA實(shí)現(xiàn)301永久重定向方法

    JAVA實(shí)現(xiàn)301永久重定向方法

    本篇文章給大家總結(jié)了JAVA中實(shí)現(xiàn)永久重定向的方法以及詳細(xì)代碼,對此有需要的朋友可以參考學(xué)習(xí)下。
    2018-04-04
  • 深入解析Java接口(interface)的使用

    深入解析Java接口(interface)的使用

    這篇文章主要介紹了深入解析Java接口(interface)的使用,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09

最新評論

闽侯县| 麻城市| 桃园县| 嘉黎县| 汉沽区| 望都县| 敦化市| 海林市| 济宁市| 富阳市| 卢龙县| 澜沧| 万山特区| 石河子市| 泽普县| 同仁县| 西宁市| 石门县| 四平市| 师宗县| 驻马店市| 临猗县| 乌鲁木齐县| 崇信县| 亳州市| 育儿| 温宿县| 南汇区| 彭州市| 东城区| 安徽省| 滦平县| 云梦县| 富顺县| 娄烦县| 余姚市| 沂源县| 乐山市| 正宁县| 阿坝| 观塘区|