方法引用_通过对象名引用成员方法
package com.chunzhi.Test05ObjectMethodReference; /* 通过对象名引用成员方法,对象名:MethodRerObject;成员方法:printUpperCaseString 使用前提是对象名是已经存在的,成员方法也是存在的 就可以使用对象名来引用成员方法 */ public class Test01ObjectMethodReference { // 定义一个方法,方法的参数传递函数式Printable接口 public static void printString(Printable p) { p.print("HelloWorld"); } public static void main(String[] args) { // 调用printString方法,方法的参数Printable是一个函数式接口,所以传递Lambda表达式 printString((String str) -> { // 创建MethodRerObject对象 MethodRerObject mro = new MethodRerObject(); // 调用MethodRerObject对象中的成员方法printUpperCaseString,把字符串按照大写输出 mro.printUpperCaseString(str); // HELLOWORLD }); /* 方法的引用是优化Lambda表达式的,执行后的效果一样 */ /* 使用方法引用优化Lambda 对象是已经存在的MethodRerObject 成员方法也是已经存在的printUpperCaseString 所以我们可以使用对象名引用成员方法 */ // 我们要将MethodRerObject对象创建出来,进行使用 MethodRerObject mro = new MethodRerObject(); printString(mro :: printUpperCaseString); // HELLOWORLD } }