千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Java编程知识:Lambda表达式之接口实例化

Java编程知识:Lambda表达式之接口实例化

来源:千锋教育
发布人:千锋老师
时间: 2018-07-09 14:04:00 1531116240

  Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。

图片1

  Lambda表达式还增强了集合库。 Java SE 8添加了2个对集合数据进行批量操作的包: java.util.function 包以及java.util.stream 包。 流(stream)就如同迭代器(iterator),但附加了许多额外的功能。 总的来说,lambda表达式和 stream 是自Java语言添加泛型(Generics)和注解(annotation)以来最大的变化。

  语法格式:

  (参数)->{语句块}

  其中只有一个参数的化()可以省略

  Lambda表达式可以实现的操作:

  1、完成接口的实例化或抽象类的实例化

  比如我们线程的创建:

  之前都是这样创建的:

  Public class My_Main

  {

  Public static void main(String[] args){

  New Thread(new Runnable(){

  Public void run(){

  System.out.print(“子线程输出”);

  }

  }).start();

  }

  }

  可是使用Lambda表达式却可以这样写:

  Public class My_Main2

  {

  Public static void main(String[] args){

  New Thread(()->System.out.print(“子线程输出”)).start();

  }

  }

  看起来Lambda表达式是不是很简洁。

  再例如:

  自定义一个接口,接口中有一个方法

  public interface AAction {

  void work(String name);

  }

  创建类进行测试

  public class My_Main {

  private static void t1(AAction aAction){

  aAction.work("张三");

  }

  public static void main(String[] args) {

  t1((n)-> System.out.println(n+" 正在千锋学习呢"));

  }

  }

  总结:Lambda表达式实现接口的实例化要求接口中只能有一个方法。如果有多个方法就不好推断。

  千锋Java编程培训作为中国IT研发人才一体化服务的开拓者,为学生制定合理有序的学习计划,2周免费试听不满意不收费,与学员签订就业协议,坚持良心面授,从千锋Java编程培训班出去的学员均已高薪就业。千锋推出的免费Java视频教程,让学员能够更好的巩固基础技术能力。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT