方法引用:
lambda表达式是模仿python的面向函数的,但是java是面向对象的,所以一个类就定义一个方法,这样创建一个对象就相当于创建了一个函数。
最开始的时候,我们用匿名内部类创建对象,在对象里面重写接口的方法。现在定义了一种特殊情况,在接口中只定义一个方法,这样这个接口就是函数式接口,可以用lambda表达式创建对象,在使用lambda表达式的时候,我们用简化的方式(()->{})重写了这个接口的方法,然后jvm自动帮我们创建对象,并将我们重写的这个方法封装进创建的对象里面,实际上还是创建了对象。
现在使用方法引用,就是我们在创建函数式接口对象的时候,我们自己想要重写的方法逻辑在其他地方已经被实现过了,并且参数列表和返回值类型完全符合我们的要求,这样我们不用重新编写这个逻辑,只用将那个方法引用过来就好了。