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);
}
}