定义

将方法作为参数传递即为方法引用。
以@FunctionalInterface 修饰的接口 其中只能有一个抽象方法。
这个抽象方法的形参和返回值便是对所引用方法的约束。

使用条件

引用方法的返回值类型和形参需要与函数式接口的抽象方法保持一致

使用方式
匿名类
new 接口名() {
    // 实现接口的方法
};
lambda 表达式
(param)->{}
::引用已有方法

通过方法引用符引用已有方法。

  1. 类名引用静态方法 CLassName::method
  2. 实例对象引用成员方法 object::method
  3. 类名引用成员方法。会以函数方法的第一个参数来调用该引用方法,所以需要保持引用方法的形参和函数方法第一个参数后面的形参保持一致。
总结

总的来说,方法引用就是将方法作为参数。