首先定义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); } }
结果:实现两个数相加