2016书单总结–写给大忙人看的JavaSE8-Lambda
Lambda函数式编程
- lambda是一段可以传递的代码
- lambda表示参数,三部分组成
- 参数—->(参数类型 参数名…)
- —->当参数类型可推导时,参数类型可省略
- —->当只有一个参数时,()可省略
- 箭头(->)
- 表达式—->3部分组成
- —->一段代码
- —->参数
- —->自由变量的值(不是参数且没有在变量中定义的变量/自由变量的代码块称为闭包/被引用的自由变量的值不可更改,类似于内部类的final)
- —->当在lambda中使用this关键字时,引用的是创建该lambda的方法的this参数
- 参数—->(参数类型 参数名…)
- 函数式接口—->该接口只包含一个抽象方法,可通过lambda表达式创建该接口的对象(类似于匿名对象)
- 函数式接口的转换是Java中使用Lambda表达式唯一能做的事情
- Lambda表达式转换为函数式接口实例时,需注意受检异常
- 方法引用—->使用::简化方法的引用,当已有实现的方法想进行传递时,可使用方法引用
- —->对象::实例方法
- —->类::静态方法
- —->类::实例方法
- 构造器引用—->构造器引用的方法名为::new
- 默认方法—->允许接口带有具体的实现/类优先(优先考虑父类实现)
- 静态方法—->接口中添加静态方法
- 示例代码位于– https://github.com/undergrowthlinear/2016MyBookSummary.git
- com.undergrowth.java8.forimpatient.test.LambdaLearnTest关于lambda函数式接口、方法引用、默认方法
javafx示例 - 在src\test\resources\book-source-code\java8ForImpatient路径下,有本书作者的完整实例
- com.undergrowth.java8.forimpatient.test.LambdaLearnTest关于lambda函数式接口、方法引用、默认方法