1.什么是函数式接口,函数式接口和什么有关,和什么无关?
答:
有且只有一个抽象方法的接口叫函数式接口。
和抽象方法数量有关,和默认方法,静态方法,私有方法无关。
2.什么情况下可以使用lambda表达式来替换面向对象编码?
答:必须同时满足以下两种情况:
1.有一个函数式接口
2.这个函数式接口必须作为局部变量的参数类型或者方法列表的参数类型(具有上下文关系)
3.什么情况下lambda表达式可以简写?
答:
1.当形式参数只有一个时,可以省略小括号和参数类型
2.参数类型可以全部省略,必须是全部
3.当代码块只有一句时,可以省略大括号和分号,如果有return,也必须省略
4.方法引用分为哪几种形式?
答:
1.引用类方法: 类名::静态方法
2.引用对象的实例方法: 对象名::成员方法
3.引用类的实例方法: 类名::成员方法
4.引用构造器: 类名::new
|