首先定义Calcutor接口:
package demo17Lamdba有参数有返回值;
public interface Calcutor {
//定义两个int整数和的方法并返回结果
public abstract int calc(int a,int b);
}
再创建DemoCook类:
package demo17Lamdba有参数有返回值;
/*
需求:
给定一个计算Calcutor接口,内含抽象方法calc可以将两个int数字相加得到和的值
使用Lamdba的标准格式调用invokeCalc方法,完成123和130的相加计算
*/
public class DemoCalcutor {
public static void main(String[] args) {
//调用invokeCalc方法,方法是一个接口,可以使用匿名内部类
invokeCalc(10, 20, new Calcutor() {
@Override
public int calc(int a, int b) {
return a+b;
}
});
//使用Lamdba表达式简化匿名内部类的书写
invokeCalc(120,130,(int a,int b)->{
return a+b;
});
}
//定义一个方法参数传递两个 int类型的整数,参数传递Calcutor接口,方法内部调用Calcutor中的方法calc计算两个整数和
public static void invokeCalc(int a,int b,Calcutor c){
int sum=c.calc(a,b);
System.out.println(sum);
}
}
结果:实现两个数相加