/**
* Lambda
* @date 2019/8/2 10:03
*/
public class Lamda {
public static void main(String[] args){
IEat iEat=new IEatImpl() ;
iEat.eat("苹果"); IEat iEat1=new IEat(){//内部类new接口IEat()是接口//匿名内部类
@Override
public void eat( String thing) {
System.out.println("eat banna"+thing);
}
};
iEat1.eat("香蕉"); //Lambda 功能和上面一样
//1.代码更简洁,2.不能生成单度的class文件,3.只能实现一个方法
//带参数使用,可以省略参数类型(String thing)可以写成thing
//(实现方法的参数)->{这里面写实现方法}
IEat iEat2=(String thing)->{System.out.println("我是实现类"+thing);};
iEat2.eat("橘子");
IEat iEat5= thing->System.out.println("更简洁的写法"+thing);//更简洁的写法
iEat5.eat("更简洁");
//-------------------------------------------------------------
//4.带返回值的:
IEat1 iEat3=(thing)->{
System.out.println("我是实现类"+thing);
System.out.println("可以多句"+thing);
return 10;
};
iEat3.eat("葡萄");
//5.带返回值还可以写成
IEat1 iEat4 = (thing)->thing==null?1:0;
//参数中可以写final String thing
} }
interface IEat{
public void eat(String thing);//可以传参
//接口中可以有一个default默认方法 对Lambda表达式没有影响
public default void print(){
System.out.println("我是接口的默认方法");
}
} class IEatImpl implements IEat{ @Override
public void eat(String thing) {
System.out.println("吃"+thing);
}
}
//带返回值的接口
interface IEat1{
public int eat(String thing);//可以传参
}

 把匿名内部类的写法简单化,实现一个接口的方法.

 

JDK1.8新特性Lambda表达式的更多相关文章

  1. JDK1.8新特性-Lambda表达式

    Lambda 表达式 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). 使用 Lambda 表 ...

  2. jdk1.8新特性-Lambda表达式使用要点

    前言 在jdk1.8出来的时候看到过,没怎么了解.但是最近再看kafka和spark框架,框架示例中ava版的很多地方用到Lambda表达式,发现使用Lambda表达式代码确实简单了好多,有些例子大致 ...

  3. jdk1.8新特性 lambda表达式和Stream

    一.Lambda 1.lambda : 匿名函数 2.好处:减少打码的冗余,增强匿名函数的可读性 3.语法格式 语法格式一 : 无参数,无返回值 () -> System.out.println ...

  4. (转)JDK1.8新特性Lambda表达式

    https://www.cnblogs.com/franson-2016/p/5593080.html Predicate predicate接收一个变量,并返回一个boolean值,predicat ...

  5. Java8新特性-Lambda表达式是什么?

    目录 前言 匿名内部类 函数式接口 和 Lambda表达式语法 实现函数式接口并使用Lambda表达式: 所以Lambda表达式是什么? 实战应用 总结 前言 Java8新特性-Lambda表达式,好 ...

  6. 乐字节-Java8新特性-Lambda表达式

    上一篇文章我们了解了Java8新特性-接口默认方法,接下来我们聊一聊Java8新特性之Lambda表达式. Lambda表达式(也称为闭包),它允许我们将函数当成参数传递给某个方法,或者把代码本身当作 ...

  7. Java 8 新特性 - Lambda表达式

    Lambda表达式 vs 匿名类既然lambda表达式即将正式取代Java代码中的匿名内部类,那么有必要对二者做一个比较分析.一个关键的不同点就是关键字 this.匿名类的 this 关键字指向匿名类 ...

  8. C#10新特性-lambda 表达式和方法组的改进

    C# 10 中对Lambda的语法和类型进行了多项改进: 1. Lambda自然类型 Lambda 表达式现在有时具有"自然"类型. 这意味着编译器通常可以推断出 lambda 表 ...

  9. java8新特性——Lambda表达式

    上文中简单介绍了一下java8得一些新特性,与优点,也是为本次学习java8新特性制定一个学习的方向,后面几篇会根据上文中得新特性一一展开学习.本文就从java8新特性中比较重要的Lambda表达式开 ...

随机推荐

  1. Web 全栈大会:万维网之父的数据主权革命

    大家好,今天我和大家分享一下由万维网之父发起的一场数据主权革命.什么叫数据主权?很容易理解,现在我们的数据是把持在巨头手里的,你的微信通讯录和聊天记录都无法导出,不管是从人权角度还是从法理角度,这些数 ...

  2. flask框架-大结局

    flask-script 用于实现类似于django中 python3 manage.py runserver ...类似的命令. 安装 pip3 install flask-script 使用: f ...

  3. pytorch(ch5

    读取图片数据集::# -*- coding: utf-8 -*-import torch as tfrom torch.utils import dataimport osfrom PIL impor ...

  4. HTML字符实体和转义字符串大全

    转义字符串的组成 转义字符串(Escape Sequence),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand:第二部分是实体(Ent ...

  5. tesseract系列(3) -- tesseract训练

    tessract的训练有个工具叫 jTessBoxEditor 1.jTessBoxEditor是用java写的,首先要装java的环境 jdk-8u191-windows-x64.exe 这个我想从 ...

  6. 二十五、SSH服务企业级应用场景

    一.需求分析: 要求所有服务器在同一个用户oldboy1系统用户下,实现A机器从本地分发数据到B\C机器上,在分发过程中不需要B\C的提示系统密码验证,除了分发功能,还需要可以批量查看客户上的cpu. ...

  7. Maven 仓库搜索服务和私服搭建

    Maven 仓库搜索服务 使用maven进行日常开发的时候,一个常见问题就是如何寻找需要的依赖,我们可能只知道需要使用类库的项目名称,但是添加maven依赖要求提供确切的maven坐标,这时就可以使用 ...

  8. ipv6 mac地址转化为linklocal地址

    mac  3c:32:66:67:dd:46 linklocal地址 前六位固定  fe80:: 第七位  mac地址第一个byte进行如下计算 (byte) ((byte) (macbyte &am ...

  9. 绿洲作业第一周 - 美术Art work

    Dear parents, Please remind your child to learn and finish the work as follows from the art teacher: ...

  10. mysql之左连接、右连接、内连接、全连接、等值连接、交叉连接等

    mysql中的各种jion的记录,以备用时查 1.等值连接和内连接, a.内连接与等值连接效果是相同的,执行效率也相同,只是书写方式不一样,内连接是由SQL 1999规则定的书写方式 比如: sele ...