其他分享
首页 > 其他分享> > 82-Lambda表达式有参有返回(自定义接口)

82-Lambda表达式有参有返回(自定义接口)

作者:互联网

Lambda表达式有参数有返回值的练习
需求:
给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
使用Lambda的标准格式调用invokeCalc方法,完成120和130两个数的相加计算

接口Calculate类

package Demo07;
/*
给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
 */
public interface Calculator {
    //定义一个方法,计算两个int整数和的方法并返回结果
    public abstract  int calc(int a ,int b);  //抽象方法没有大括号
}

测试类  因为接口类没有实现类重写calc方法所以用了匿名内部类 然后匿名内部类可以用Lambda表达式简化

package Demo07;
/*
Lambda表达式有参数有返回值的练习
需求:
给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
使用Lambda的标准格式调用invokeCalc方法,完成120和130两个数的相加计算
 */
public class Demo01Calculator {
    public static void main(String[] args) {
        //调用invokeCalc();方法 ,注意方法的参数是一个接口,可以使用匿名内部类
    invokeCalc(10, 20, new Calculator() {
        @Override
        public int calc(int a, int b) {
            return  a+b;
        }
    });

    //使用Lambda表达式简化匿名内部类的书写
        invokeCalc(10,20,(int a ,int b )->{
            return a+b;
        });
    }
    //定义一个方法
    // 参数传递两个int类型的整数 参数传递Calculate接口
    //方法内部调用Calculator中的方法calc计算两个整数的和
    public static void invokeCalc(int a , int b , Calculator c){
        int sum = c.calc(a,b);
        System.out.println(sum);
    }
}

标签:自定义,int,Calculator,参有,invokeCalc,82,calc,public,Lambda
来源: https://blog.csdn.net/shwjakak/article/details/120903630