函数式接口以及方法.

函数式接口

1.概念及格式;
函数式接口;有且只有一个方法抽象方法的接口,可以有其他的方法.
格式;intface in{
//有且只有一个抽象方法
//可以有其它默认方法,静态方法,私有方法…}
2.@FunctionalInterface注解;
在定义"函数式接口"时,为防止发生定义错误.可以使用@FunctionalInterface注解,强制按照"函数式接口"的语法检查,如果语法错误.编译器将会方法错误.
@FunctionalInterface
interface ai {
public void show();
}
3.自定义函数式接口(无参无返回值);
在这里插入图片描述
4.自定义函数接口(有参有返回值);
Lambda的省略语法;
a),形参的数据类型都可以省略;
b).如果只有一个形参,可以同时省略小括号,和数据类型,
c).如果方法体重只有一句话,可以省略;大括号,return语句,语句后的分号.
在这里插入图片描述
5.lambda的应用_延迟执行;
在这里插入图片描述
6.Lambda的应用_Lambda作为参数和返回值;
在这里插入图片描述
7.类库接口_Lambda作为形参和返回值;
当"引用",可以理解"替代";
讲的都是使用"各种方法"来替代;Lambda表达式
所谓"方法引用"就是;使用现有的方法,来代替实现的Lambda.
在这里插入图片描述
8.使用自定义静态方法替代lambda.
在这里插入图片描述
9.使用类库静态方法代替Lambda;
在这里插入图片描述
10.替代原则;
替代的方法的形参,返回值类型,必须与被替代的"函数式接口"中抽象方法一致
11.对象成员方法替代Lambda;
在这里插入图片描述
12.使用super父类方法替代Lambda;
在这里插入图片描述
13.使用this本类方法替代Lambda;
在这里插入图片描述
14.类的构造器引用;
有无参构造
在这里插入图片描述

15.数组构造器引用;
在这里插入图片描述
16.常用函数式接口_生产者接口_Supplier接口;
a)生产结构;只生产数据;不接受参数;
在这里插入图片描述
17.消费者接口_Consumer接口_抽象方法;
1.消费者接口,只接受参数,无返回值;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42943720/article/details/82872844