@FunctionalInterface public interface Calcable { //定义一个抽象方法,传递一个整数,对整数进行绝对值计算并返回 int calsAbs(int number); }
/** * 通过类名引用静态成员方法 * 类已经存在,静态成员方法也已经存在 * 就可以通过类名直接引用静态成员方法 */ public class Demo01StaticMethodReference { //定义一个方法,方法的参数传递要计算绝对值的整数,和函数式接口Calcable public static int method(int number,Calcable c){ return c.calsAbs(number); } public static void main(String[] args) { //调用method方法,传递计算绝对值得整数,和Lambda表达式 int number = method(-10,(n)->{ //对参数进行绝对值得计算并返回结果 return Math.abs(n); }); System.out.println(number); /** * 使用方法引用优化Lambda表达式 * Math类是存在的 * abs计算绝对值的静态方法也是已经存在的 * 所以我们可以直接通过类名引用静态方法 */ int number2 = method(-10, Math::abs); System.out.println(number2); } }
标签:int,number,引用,方法,public,类名 From: https://www.cnblogs.com/xuche/p/16731439.html