左侧既可以是类型名,也可以是函数对象。
右侧需要是方法名
-
Math::max
等价于 (int a, int b) → Math.max(a, b); 是静态方法。因为是逻辑部分是单行,所以将返回一个该行函数的结果。 返回值类型同函数定义。
-
Student::getName
等价于 (Student stu) → stu.getName(); 非静态方法。因为是逻辑部分是单行,所以将返回一个该行函数的结果。返回值类型同函数定义。
-
System.out::println
等价于 (Object o) → System.out.println(o); 非静态方法。此例中,System.out 是对象。println 的定义是 void,所以返回为 void。
-
Student::new
等价于 () → new Student(); 非静态方法。因为是逻辑部分是单行,所以将返回一个该行函数的结果。返回值类型同函数定义。