Lamda语法

基本

  1. λ 希腊字母表中排序第十一位的字母,英语名称为 Lamda

  2. 避免匿名内部类定义过多

  3. 可以让你的代码看起来很简洁

  4. 去掉了一堆没有意义的代码,留下核心的逻辑

  5. 其实质属于函数式编程的概念

(params)-> expression[表达式] (params) -> statement[语句] (params) -> {statements}

理解Functional interface(函数式接口)是学习java8 lamda表达式的关键所在。

函数式接口的定义:

任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。

对于函数式接口,我们可以通过lamda表达式来创建该接口的对象

代码推导

/*** 推导lamda表达式*/
​
//定义一个函数式接口
interface  IPerson{void person();
}
interface IMan{void man(String name);
}
​
​
//定义一个实现类
class PersonFirst implements IPerson{
​@Overridepublic void person() {System.out.println("I am a Firstperson");}
}
public class Lamda {//静态内部类static class PersonSecond implements IPerson{
​@Overridepublic void person() {System.out.println("I am a Secondperson");}}public static void main(String[] args) {IPerson person = new PersonFirst();person.person();
​person = new PersonSecond();person.person();//局部内部类class PersonThird implements IPerson{
​@Overridepublic void person() {System.out.println("I am a Thirdperson");}}
​person = new PersonThird();person.person();//匿名内部类 没有类的名称 借助接口或父类person = new IPerson() {@Overridepublic void person() {System.out.println("I am a Forthperson");}};person.person();
​//用Lamda简化(无参数)person = ()->{System.out.println("I am a Fifthperson");};person.person();
​//用lamda简化(有参数)
//        IMan man = (String name)->{
//            System.out.println(name);
//        };
//        man.man("z");//简化参数类型
//        IMan man = (name)->{
//            System.out.println(name);
//        };
//        man.man("z");//简化括号
//        IMan man = name->{
//            System.out.println(name);
//        };
//        man.man("z");//简化{} 代码有多行无法省略{}IMan man = name->System.out.println(name);man.man("z");
​
​}
​
}

Lamda语法(学习笔记)相关推荐

  1. Python基础语法学习笔记

    Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...

  2. MySQL语法学习笔记

    MySQL语法学习笔记 学习之道,非尽心竭力者不能进也!我是小七黛,欢迎查看我的笔记,有问题欢迎交流探讨. SQL是一种结构查询语言,用于查询关系数据库的标准语言,包括若干关键字和一致的语法,便于数据 ...

  3. Verilog HDL 语法学习笔记

    今天给大侠带来Verilog HDL 语法学习笔记,话不多说,上货. 关于详细的VHDL语法以及Verilog HDL语法可参见往期文章. 一周掌握 FPGA VHDL Day 7 暨汇总篇 一周掌握 ...

  4. VHDL语法学习笔记:一文掌握VHDL语法

    今天给大侠带来FPGA 之 VHDL 语法学习笔记,话不多说,上货. VHDL语法学习笔记 一.VHDL简介 1.1 VHDL 的历史 VHDL 的 英 文 全 名 是 Very-High-Speed ...

  5. web阶段概念语法----学习笔记

    web学习笔记大纲 一.Oracle数据库 1.概念 2.sql命令(增删改查) 1)select命令 2)insert命令 3)update命令 4)delete命令 3.函数--- oracle提 ...

  6. javacode基本概念语法--学习笔记

    javacode学习笔记大纲 一.语法规范 二.键盘输入 三.数据类型分类及类型转换 四.局部变量.switch-case.随机数 五.函数 六.数组 1.基础概念 2.数组扩容及排序 3.保留小数( ...

  7. 二、Vue基础语法学习笔记——事件监听v-on、条件判断(v-if、v-else-if、v-else、v-show)、循环遍历(v-for遍历数组对象,key属性、检测数组更新)、图书案例、双向绑定

    四.事件监听 在前端开发中,我们需要经常和用于交互. 这个时候,我们就必须监听用户发生的时间,比如点击.拖拽.键盘事件等等 在Vue中如何监听事件呢?使用v-on指令 v-on介绍 作用:绑定事件监听 ...

  8. 一、Vue基础语法学习笔记系列——插值操作(Mustache语法、v-once、v-html、v-text、v-pre、v-cloak)、绑定属性v-bind(绑定class、style)、计算属性

    一.插值操作 1. Mustache 如何将data中的文本数据,插入到HTML中呢? 我们已经学习过了,可以通过Mustache语法(也就是双大括号). Mustache: 胡子/胡须. 我们可以像 ...

  9. Swift基础语法学习笔记(1)

    Swift基础语法的学习 1.HashMap 2.for-in循环控制 3.??聚合运算 4.SwiftUI的一些小技巧 5.init初始化器 6.@propertyWrapper属性包装器 音乐评分 ...

  10. pyton基础语法学习笔记一

    一.pyton语言简介 1.解释型语言 2.交互式语言 3.面向对象 4.适合初学者 二.pyton语言特点 1.易于学习: 2.易于阅读: 3.易于维护: 4.一个广泛的标准库: 5.互动模式: 6 ...

最新文章

  1. Redis的一些“锁”事
  2. docker高级应用之赋予容器独立外网ip
  3. windows主机网络信息获取程序设计
  4. Boost:BOOST_ASSERT_IS_VOID的测试程序
  5. lnmp环境搭建:Centos7 + Nginx1.12.2 + Mysql-5.6.38 + PHP7.2.0
  6. Zotero参考文献管理
  7. linux 函数手册 在线,Linux系统API函数手册
  8. 判断对象所有属性是否全部为空
  9. Django-用户认证组件
  10. MWPhotoBrowser 属性详解 和代理解释
  11. yosemite php gd,Yosemite下配置PHP支持GD库FreeType
  12. 通过判断流的头 判断文件类型
  13. 网桥和交换机的工作原理及区别
  14. 【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
  15. 大规模定制(Mass Customization,MC)
  16. java计算机毕业设计英语学习网站设计与实现MyBatis+系统+LW文档+源码+调试部署
  17. kafka问题之Listener method could not be invoked with the incoming message
  18. 计算机的音量打不开,电脑静音,音量打不开.怎么办?
  19. 小技巧,IDEA 卡住不动解决办法
  20. h5在twitter里登陆功能使用体验

热门文章

  1. linux系统如何配置ssh链接方式【以kali linux系统为例】【有一个坑,网上很多配置找不到PermitRootLogin选项】
  2. uniapp | 开发中遇到的兼容性问题
  3. python如何提高for循环效率_如何提高python的遍历效率?
  4. 第四章--背景图像效果
  5. lab1-3 使用通用脱壳工具
  6. 卷积尺寸计算公式(含膨胀卷积和反卷积情况)
  7. 友转 | 翘首期待Bluetooth Asia 2019蓝牙亚洲大会
  8. dell optiplex ubuntu 14.04 安装 NVIDIA 显卡驱动
  9. Hexo+Github博客:新建菜单,并在该菜单内添加单篇/多篇文章
  10. 下载mysql链接库