Lambda表达式

1.避免匿名内部类定义过多
2.可以让代码看起来更简洁
3.去掉了一对无用的代码。函数式接口:1.任何接口只包含唯一一个抽象方法2.对于函数是借口,可用用lambda表达式来创建改接口的对象
/*
1.推导lambda表达式*/
public class TestLambda01 {public static void main(String[] args) {Like like = new Like();like.lambda();}
}
//1.定义一个函数式接口
interface ILike{void lambda();
}
//实现类
class Like implements ILike{@Overridepublic void lambda() {System.out.println("i like Lambda!");}
}

逐步简化:步骤

/*
1.推导lambda表达式*/
public class TestLambda01 {//3.静态内部类static class Like2 implements ILike{@Overridepublic void lambda() {System.out.println("I Like Lambda2!");}}public static void main(String[] args) {ILike like = new Like();like.lambda();like = new Like2();like.lambda();//4.局部内部类class  Like1 implements ILike{@Overridepublic void lambda() {System.out.println("I like Lambda!3");}}like = new Like1();like.lambda();//5.匿名内部类   没有类的名称,必须借助接口或者父类like = new ILike() {@Overridepublic void lambda() {System.out.println("I like Lambda!4");}};like.lambda();//6.用lambda简化like = ()->{System.out.println("I like Lambda!5");};like.lambda();}
}
//1.定义一个函数式接口
interface ILike{void lambda();
}
//实现类
class Like implements ILike{@Overridepublic void lambda() {System.out.println("i like Lambda!");}
}

最终简洁代码:

public class TestLambda02 {public static void main(String[] args) {ILove love;love = (a)->{System.out.println("I Love You!---"+a);};love.Love(520);}
}
interface ILove{void Love(int a);
}
总结:1.lambda表达式,在省略参数类型时,需要全部省略2.只输出一行代码时可以省略花括号

Java学习之多线程3相关推荐

  1. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  2. Java学习笔记---多线程并发

    Java学习笔记---多线程并发 (一)认识线程和进程 (二)java中实现多线程的三种手段 [1]在java中实现多线程操作有三种手段: [2]为什么更推荐使用Runnable接口? [3][补充知 ...

  3. Java 学习 Day17 多线程

    Java 学习 Day17 文章目录 Java 学习 Day17 一.基本概念:程序.进程.线程 二.线程的创建和使用 三.多线程的创建,方式一:继承于Thread类 四. 创建多线程的方式二:实现R ...

  4. java学习(多线程)

    1.线程概念 进程则是执行程序的一次执行过程,他是一个动态的概念.是系统资源分配的单位 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义 核心概念 对同一份资源操作 ...

  5. java学习笔记 多线程(一)创建多线程,线程常用方法

    首先是进程和线程的区别,进程就是像打开csgo.exe就是一个进程,然后打开LOL.exe又是另外一个进程了. 而线程呢,就是在同一进程内部,发生的事情. 那么就开始了解线程! 创建多线程: 线程有三 ...

  6. 【Java学习】多线程2

    Java多线程的安全问题: 由于多线程的代码块中可能有共享资源,因此,当一个线程刚好使用共享资源时,CPU让改线程被吊起,转而执行另外一个线程时,第二个线程又去使用共享资源,从而出现共享资源不一致的状 ...

  7. java学习(六)多线程 上

    进程:进程是一个正在执行的程序,这个程序呢都有一个执行顺序,这个执行顺序是一个执行路径,或者说是一个控制单元. 所有的进程不会同时发生,而是来回切换. 线程:打个比方,一堆货物,一个人搬花十个小时,十 ...

  8. Java学习笔记 --- 多线程

    一.线程相关概念 程序 程序是为完成特定任务,用某种语言编写的一组指令的集合.简单的说就是我们写的代码 进程 1.进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存 ...

  9. Java学习笔记---多线程同步的五种方法

    一.引言 前几天面试,被大师虐残了,好多基础知识必须得重新拿起来啊.闲话不多说,进入正题. 二.为什么要线程同步 因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会 ...

  10. Java学习:多线程(2)

    线程中的一些方法 线程加入:public final void join() 等待该线程终止,其他线程才能抢着执行. 练习代码如下: 1 public static void main(String[ ...

最新文章

  1. Hibernate flush理解
  2. io.h源码 检查文件是否存在
  3. Elasticsearch 节点发现
  4. java bank项目答案_Bank项目-java
  5. 文件一另存为电脑就卡住_文件太多怎么办?用Excel做一个简易目录!轻松管理多个文件...
  6. 基于大数据的京沪人口流动流量、流向新变化
  7. u9系统的使用方法仓库_【用友u9使用教程】
  8. Bypass功能及原理介绍
  9. HFSS 天线设计流程概述-截图
  10. PyQt5 pushButton clicked 点击事件绑定
  11. 【NOI Online】 2021普及
  12. CTF练习题——bugkuCTF 网站被黑题目思路分析
  13. mqtt简介及在web端的应用(接入阿里iot)
  14. 单元格颜色公式之明细数据项隔行底纹
  15. 使用JedisClusters批量高效删除redis中的key
  16. 服务器cpu支持4通道什么意思,Intel 10nm服务器CPU曝光 LGA4189接口、八通道内存
  17. Linux | 运行虚拟电脑时发生严重错误,应将其关闭
  18. 《跨语言文本相似性检测》第一周—前期调研
  19. 电解电容的耐压选择:
  20. 联想服务器X3850 X6 配置RAID5阵列的图文方法

热门文章

  1. 什么是数学的核心素养?
  2. YApi:API管理平台
  3. Unity打开淘宝app并跳转到商品页面
  4. 为什么360如此流氓却还有这么多人用?
  5. 【ERP接口】全网ERP接口,导购接口,发货接口,ERP解密接口,电商ERP接口,淘宝ERP接口,ERP接口介绍,ERP接口对接流程,ERP接口价格介绍
  6. 各种格式音视频文件下载
  7. 2023年 PCB产业危机,全面价格战恐将开启
  8. 强盗分赃:充满逆向思维“的故事
  9. 论文研究 | 快速自动模糊 C-均值聚类彩色图像分割算法
  10. 分布式下WebSocket Session共享解决方案