要求:
1 引用处必须是函数式接口
2 被引用的方法必须存在
3 被引用的方法的形参必须和返回值需要跟抽象方法保持一致
4 被引用方法的功能要满足当前需求
方法分类:
1 静态方法
2 引用成员方法
2 本类细节:在静态方法中是没有this的 需要用本类的对象调用
3 引用构造方法
4 使用类名引用成员方法
方法引用的规则: 1.需要有函数式接口 2.被引用的方法必须已经存在 3.被引用方法的形参,需要跟抽象方法的第二个形参到最后一个形参保持一致,返回值需要保持一致。 4.被引用方法的功能需要满足当前的需求 抽象方法形参的详解: 第一个参数:表示被引用方法的调用者,决定了可以引用哪些类中的方法 在Stream流当中,第一个参数一般都表示流里面的每一个数据。 假设流里面的数据是字符串,那么使用这种方式进行方法引用,只能引用String这个类中的方法 第二个参数到最后一个参数:跟被引用方法的形参保持一致,如果没有第二个参数,说明被引用的方法需要是无参的成员方法 局限性: 不能引用所有类中的成员方法。 是跟抽象方法的第一个参数有关,这个参数是什么类型的,那么就只能引用这个类中的方法。
5 引用数组的构造方法
细节:数组中类型和流中数据类型保持一致