Lambda标准格式
使用Lambda表达式做一个有参数有返回值的练习。
首先定义一个计算器接口。叫做Calculate接口,它里面有个抽象的计算方法叫做calc,可以计算两个整数的和
然后在测试类中,我们创建一个方法叫做invokeCalc,里面传递两个整数,再来传递一个Calculate接口,里面通过calculate中的方法calc,计算传过来两个整数的和。并把这个结果输出出来。并打印
定义计算器接口
package Demo09;/*
*@author wanghongyuan
*@Create 2021/1/7 23:11
*/
/*
给定义一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
*/
public interface Calculator {
// 定义一个计算两个int整数和的方法并返回结果
public abstract int calc (int a,int b);
}
使用Lambda的标准格式调用定义的invokeCalc方法
package Demo09;/*
*@author wanghongyuan
*@Create 2021/1/7 23:07
*/
/*
Lambda表达式有参有返回值的练习
需求:
给定义一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
使用Lambda的标准格式调用invokeCalc方法,完成120和130的相加计算
*/
public class Demo01Calculator {
public static void main(String[] args) {
// 调用invokeCalc方法,方法的参数是一个接口,可以使用匿名内部类
invokeCalc(12, 12, new Calculator() {
@Override
public int calc(int a, int b) {
return a+b;
}
});
// 使用Lambda表达式,简化匿名内部类的书写
invokeCalc(120,130,(int a,int b)-> {
return a+b;
})
;
// 再简化一下
// 注意要省略的话{},分号,return必须一起省略
invokeCalc(12,12,(a,b)-> a + b);
}
/*
定义一个方法
参数传递两个int类型的整数
参数传递Calculator接口
方法内部调用Calculator中的方法calc计算两个整数的和
*/
public static void invokeCalc(int a , int b,Calculator c){
int sum = c.calc(a,b);
System.out.println(sum);
}
}