方法引用:
1.System.out
System.out对象是已经存在的 println方法也是存在的
使用方法引用优化Lambda表达式 可以使用System.out方法直接引用println方法
printString(System.out::println);
2.通过对象名引用成员方法
使用前提是对象已经存在,成员方法也是存在的
printString(obj::printUpperCaseString);
3.通过类名引用静态方法
int num = method(-2,Math::abs);
4.通过super调用父类的成员方法
使用前提父类的成员方法sayHello是存在的,super也是存在的
method(super::sayHello);
5.通过this调用本类中的方法
使用前提,this存在,buyHouse方法也存在
method(this::buyHouse);
6.类的构造器引用
由于构造器与类名一致,格式使用 类名称::new
构造方法new Person(String name) 已知
创建对象已知 new
就可以使用Person引用new 创建对象
printName("古力娜扎", Person::new);
7.数组的构造器引用
已知创建的就是int[]数组
数组长度已知,就可以使用引用,
int[]引用new,根据参数传递长度来创建数组
int[] arr2 = createAeeay(11,int[]::new);