package demo8; @FunctionalInterface public interface Calcable { //定义一个抽象方法,传递一个整数,对整数进行绝对值计算并返回 int calsAbs(int number); }
package demo8; /* * 通过类名引用静态成员方法 * 类已经存在,静态成员方法也已经存在 * 就可以通过类名直接引用静态成员方法 * */ public class DemoStaticMethodReference { //调用method方法,传递计算绝对值得整数,和Lambda表达式 public static int method(int number,Calcable calcable){ return calcable.calsAbs(number); } public static void main(String[] args) { int number = method(-10,(number1 )->{ return Math.abs(number1); }); System.out.println(number); /* * 使用方法引用优化Lambda表达式 * Math类是存在的 * ads计算绝对值的静态方法也是已经存在的 * 所以我们可以直接通过类名引用静态方法 * */ int number2 = method(-10,Math::abs); System.out.println(number2); } }