Fork me on GitHub

jdk8

函数是接口:

  1. 如果一个接口只有一个抽象方法,那么该接口就是一个 函数式接口。
  2. 如果在接口上声明了FunctionInterface注解,那么编译器就会按照函数式接口的定义要求该接口。
  3. 如果某个接口只有一个抽象方法,并没有声明FunctionInterface注解,也会是一个函数式接口。
  • 将函数作为一等公民的语言中,Lambda表达式的类型是函数,但在Java中,Lambda表达式是对象,他们必须依附于一类特别的对象类型--函数式接口(FunctionalInterface)
  • Java Lambda表达式是一种匿名函数;他是没有什么的方法,即没有访问修饰符、返回值声明和名字;
  • Lambda表达式的作用
  1. 传递行为,而不仅仅是值;提升抽象层次;API重用性更好;更加灵活;
  2. 传统做法是将行为提前定义好,Lambda表达式可以在使用的时候传递行为

完整语法

(type1 arg1,type2 arg2,..) -> {body}

posted @ 2019-08-11 17:28  一个BUG难搞啊  阅读(111)  评论(0编辑  收藏  举报