Lambda表达式基础练习

Lambda表达式得格式:(形式参数)->{代码块}

Lambda表达式使用前提:
有一个接口
接口中有且仅有一个抽象方法

练习1:定义一个接口(Eatable),里面定义一个抽象方法:void eat();定义一个测试类(EatableDemo),在测试类中提供两个方法一个方法是:useEatable(Eatable e)一个方法是主方法,在主方法中调用useEatable方法

EatableDemo.java主文件

public static void main(String[] args) {//在主方法中调用useEatable方法Eatable e = new Eatablelmpl();useEatable(e);//匿名内部类useEatable(new Eatable() {@Overridepublic void eat() {System.out.println("一天一苹果,医生远离我!!!");}});//Lambda表达式useEatable(()->{System.out.println("一天一苹果,医生远离我!!!");});}private static void useEatable(Eatable e){e.eat();}

Eatable.java接口文件

public interface Eatable {void eat();
}

Eatablelmpl.java 实现类文件

public class Eatablelmpl implements Eatable{@Overridepublic void eat() {System.out.println("一天一苹果医生远离我!!!");}
}
练习2:定义一个接口(Flyable),里面定义一个抽象方法:void fly(String s);定义一个测试类(FlyableDemo),在测试类中提供两个方法一个方法是:useFlyable(Flyable f)一个方法是主方法,在主方法中调用useFlyable方法

FlyableDemo.java 主文件

   public static void main(String[] args) {//在主方法中调用useFlyable方法//匿名内部类useFlyable(new Flyable() {@Overridepublic void Fly(String s) {System.out.println(s);System.out.println("飞机自驾!!!");}});System.out.println("----------->");//Lambda表达式useFlyable((s)->{System.out.println(s);System.out.println("飞机自驾!!!");});}private static void useFlyable(Flyable f) {f.Fly("风和日丽,晴空万里!!!");}

Flyable.java 接口文件

public interface Flyable {void Fly(String s);
}
练习3:定义一个接口(Addable),里面定义一个抽象方法:)定义一个测试类(AddableDemo),在测试类中提供两个方法一个方法是:useAddable(Addable a)一个方法是主方法,在主方法中调用useAddable方法

AddableDemo.java主文件

  public static void main(String[] args) {//匿名内部类useAddable(new Addable() {@Overridepublic int add(int x, int y) {return x+y;}});//Lambda表达式useAddable((int x,int y)->{return x+y;});}private static void useAddable(Addable a){int sum = a.add(10,20);System.out.println(sum);}

Addable.java接口文件

public interface Addable {int add(int x,int y);
}

Java基础-Lambda表达式基础练习相关推荐

  1. Java 8 Lambda表达式基础语法

    /*** * 一.Lambda 表达式的基础语法:* Java8中引入了要给新的操作符 "->" 该操作符称作箭头操作符 或 Lambda操作符* 箭头操作符将Lambda拆 ...

  2. Java中Lambda表达式使用及详解

    Java中Lambda表达式使用及详解 前言 一.Lambda表达式的简介 Lambda表达式(闭包):java8的新特性,lambda运行将函数作为一个方法的参数,也就是函数作为参数传递到方法中.使 ...

  3. 10个Java 8 Lambda表达式经典示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表 达式,它将允许我们将行为传到函数里.在J ...

  4. Java 8 Lambda 表达式详解

    版权声明:本文由吴仙杰创作整理,转载请注明出处:https://segmentfault.com/a/1190000009186509 1. 引言 在 Java 8 以前,若我们想要把某些功能传递给某 ...

  5. Java 8 Lambda表达式-接口实现

    Java 8 Lambda表达式在只有一个方法的接口实现代码编写中,可以起到简化作用: (argument list) -> body 具体看Runnable接口的例子 public class ...

  6. 这是一个有趣的问题,Java 8 Lambda 表达式被编译成了什么?

    在了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么? 这是一个有趣的问题,涉及到JDK的具体的实现.本文将介绍OpenJDK对Lam ...

  7. Java 8 Lambda 表达式被编译成了什么?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取个gui 在了解了Java 8 Lambda的一些基本概念和应用后, 我们会 ...

  8. java 8 lambda表达式中的异常处理

    文章目录 简介 处理Unchecked Exception 处理checked Exception 总结 java 8 lambda表达式中的异常处理 简介 java 8中引入了lambda表达式,l ...

  9. 设计模式的Java 8 Lambda表达式–命令设计模式

    在本博客中,我将说明如何使用Java 8 Lambda表达式以函数式编程方式实现命令模式 . 命令模式的目的是将请求封装为对象,从而为具有不同请求,队列或日志请求的客户端参数化,并支持相应的操作. 命 ...

最新文章

  1. oracle linux telnet,linux如何开启telnet服务
  2. boot访问resources下边的图片_SpringBoot系列之JDBC数据访问
  3. [转] C# Winform 拦截关闭按钮触发的事件
  4. spring整合junit测试
  5. []End of 2017OI
  6. 电子商务应用课程知识整理 第四章-搜索引擎
  7. 网上订餐系统的SQL SERVER 2005数据库连接
  8. 21个以Bootstrap为框架的WordPress免费主题模板下载
  9. 使用modscan32工具踩的坑
  10. 5.5mysql_MySQL5.5-MySQL5.5下载 v5.5.60.1官方版 64位/32位-第五资源
  11. Autumn中文文档2:控制器
  12. QEMU脏页速率计算原理
  13. python 按条件筛选行_Python之根据条件筛选特定行
  14. c# 解决:Panel 添加自定义控件后滚动条跳动问题
  15. 《挑战程序设计竞赛(疑惑)》19.2九宫格拼图
  16. CAS(Compare and swap)比较并交换算法解析
  17. 模糊控制系统模糊控制器模块(二)---知识库
  18. 水平集图像分割并行加速算法设计与实现(串行、OpenMP、CUDA)——串行实现篇
  19. nginx--default_server定义规则及配置
  20. Linux系统编程学习笔记(九)进程间通信IPC

热门文章

  1. 互动媒体技术A1作业报告
  2. android自动屏幕点击事件,Android 中屏幕点击事件的实现
  3. 熊绎:我看软件工程师的职业规划(转载)
  4. 苹果零日漏洞利用市售800万欧元
  5. C#语言实例源码系列-实现获取机器码-适用于绑定机器功能
  6. shell base64 会自动换行问题
  7. Makfile: [ GCC编译选项 ] >CFLAGS参数 -c -o
  8. 此计算机未运行正版windows,最近一开机就有以下之警告:此Windows副本未通过正版Windows验证。...
  9. 2020年全球柿子产业发展概述及产业发展趋势分析[图]
  10. 明日之后android和ios,明日之后安卓ios互通区有哪些?ios安卓混服区详细介绍