编程思想:
面向过程:注重过程,必须清楚每一个步骤,按照步骤一步一步执行
面向对象:注重对象,无须清楚每一个步骤,只需要找到可以完成该功能的对象,让该对象去完成即可—依赖的是对象
函数式编程:不需要依赖对象,直接给解决方案即可(强调做什么,而不是以什么形式做)
对比面向对象与函数式编程:
面向对象:依赖对象
函数式编程:无须依赖对象,直接给解决方案
Lambda
Lambda表达式标准格式:
(参数类型 参数名称)->{ 代码语句 }
注意:使用lambda时,先写出()->{}在进行分析填写参数列表和代码块,完成函数式编程
格式说明:
- 小括号内的语法与传统方法参数列表一致:无参数则留空;多个参数则用逗号分隔。
- ->是新引入的语法格式,代表指向动作。
- 大括号内的语法与传统方法体要求基本一致。
使用Lambda的例子:
使用Lambda表达式的标准格式来使用Runnable接口
使用Lambda表达式的标准格式来使用Comparator接口
使用Lambda表达式的标准格式来使用自定义的接口(无参数无返回值的方法)
Lambda省略格式:
1.小括号内参数的类型可以省略
2.如果小括号内有且仅有一个参数,则小括号也可以省略
3.如果大括号内有且仅有一条语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号。
使用Lambda表达式的省略格式来使用Runnable接口
使用Lambda表达式的省略格式来使用Comparator接口
使用Lambda表达式的省略格式来使用自定义的接口(无参数无返回值的方法)
Lambda的使用前提:
使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法
使用Lambda必须具有上下文推断
tips:有且仅有一个抽象方法的接口,就是“函数式接口”