方法引用
Summary::
使用场景
我们用Lambda表达式来实现匿名方法。但有些情况下,我们用Lambda表达式仅仅是调用一些已经存在的方法,除了调用动作外,没有其他任何多余的动作,在这种情况下,我们倾向于通过方法名来调用它,而Lambda表达式可以帮助我们实现这一要求,它使得Lambda在调用那些已经拥有方法名的方法的代码更简洁、更容易理解。方法引用可以理解为Lambda表达式的另外一种表现形式。
分类
方法引用就是对一个类中已经存在的方法加以引用,分3中类型:(以Test类为例)
- 对类构造方法的引用,如Test::new。
- 对类静态方法的引用,如Test::staticMethodName
- 对对象实例方法的引用,如:new Test()::instanceMethod
- 是2和3的结合,如Test::instanceMethod2,但要求函数类型声明和函数调用的时候,其第一个参数必须是Test类的实例。