方法引用_通过类名引用静态成员方法

@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);
    }
}
复制代码

 

posted @   夫君  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示