日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lambda表达式(多线程实现)

發布時間:2023/12/4 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lambda表达式(多线程实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

推導lambda表達式

  • Lambda表達式,避免匿名內部類定義過多,其實質屬于函數式編程的概念;
    去掉一些沒有意義的代碼,只留下核心代碼;
    當前接口為函數式接口(任何一個接口,如果只包含唯一一個抽象方法,那么他就是一個函數式接口),可以通過Lambda表達式來創建該接口的對象;
  • 1、實習類:接口+實現類+主線程調用抽象方法
  • 2、靜態內部類(注意:加static) :接口+靜態內部類實現接口+主線程調用抽象方法
  • 3、局部內部類:接口+主線程內實現接口+內部調用抽象方法
  • 4、匿名內部類,沒有類的名稱,必須借助接口或父類:接口+主線程內實現接口(沒有創建實現類,而是直接新建一個對象實現接口)+內部調用抽象方法
  • 5、Lambda表達式:接口+主線程內實現接口(當前為函數式接口,只有一個抽象方法,直接新建接口對象實現抽象方法)+內部調用抽象方法
package com.zeng.demo01; /* 推導lambda表達式 */ public class TextLambda01 {//3、靜態內部類(注意:加static)【簡化一版】static class Like2 implements ILike{@Overridepublic void lambda() {System.out.println("i like Lambda2");}}public static void main(String[] args) {ILike iLike = new Like();//實例化對象iLike.lambda();iLike = new Like2();iLike.lambda();//4、局部內部類【簡化二版】class Like3 implements ILike{@Overridepublic void lambda() {System.out.println("i like Lanbda3");}}iLike=new Like3();iLike.lambda();//5、匿名內部類,沒有類的名稱,必須借助接口或父類【簡化三版】iLike=new ILike() {@Overridepublic void lambda() {System.out.println("i like Lambda4");}};iLike.lambda();//6、用Lambda簡化【簡化四版】(對于函數式接口可以用Lambda表達式來創建該接口的對象)iLike=()->{System.out.println("i like Lambda5");};iLike.lambda();} } //1、定義一個函數式接口(只包含唯一一個抽象方法) interface ILike{void lambda(); } //2、實現類 class Like implements ILike{@Overridepublic void lambda() {System.out.println("i like Lambda");} }

練習Lambda表達式

  • 總結
    Lambda表達式當在只有一行代碼的情況下才能簡化成一行代碼,如果有多行代碼,那么就用代碼塊包裹
    前提是接口為函數式接口
    多個參數也可以去掉參數類型,要去掉都去掉必須加括號。
package com.zeng.demo01;public class TestLambda02 {//2、靜態內部類 // static class Love implements ILove{ // @Override // public void love(int a) { // System.out.println("i love you-->"+a); // } // }public static void main(String[] args) {//3、局部內部類(將類放到方法體里面) // class Love implements ILove{ // @Override // public void love(int a) { // System.out.println("i love you-->"+a); // } // }//前三種需用到此方法// ILove love = new Love();//4、匿名內部類(沒有方法,用接口實現) // ILove love=new ILove() { // @Override // public void love(int a) { // System.out.println("I love you--》"+a); // } // };//5、Lambda表達式(方法里有參數) // ILove love=(int a)->{ // System.out.println("I love you-->"+a); // };//5.1 Lambda表達式(去掉參數返回類型) // ILove love=(a)->{ // System.out.println("I love you-->"+a); // };//5.2 Lambda表達式(簡化括號) // ILove love=a->{ // System.out.println("I love you-->"+a); // };//5.3 Lambda表達式(去掉花括號)ILove love=a->System.out.println("I love you-->"+a);love.love(520);//總結// lambda表達式當在只有一行代碼的情況下才能簡化成一行代碼,如果有多行代碼,那么就用代碼塊包裹//前提是接口為函數式接口//多個參數也可以去掉參數類型,要去掉都去掉必須加括號,} } interface ILove{void love(int a); } //1、實現類 //class Love implements ILove{ // // @Override // public void love(int a) { // System.out.println("i love you-->"+a); // } //}

總結

以上是生活随笔為你收集整理的Lambda表达式(多线程实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。