有一个函数式接口Calculator,它包含单一的calculate()抽象方法,另外它还包含两个默认方法,定义如下。 @Functional Interface public interface Calculator{ public abstract double calculate(inta, intb){ // 唯一的抽象方法 public default int subtract(inta, int b){ return a - b; } public default int add(int a, int b){ return a + b; } } 编写程序,使用Lambda表达式实现calculate()方法,使该方法可以计算 (a+b)/2
时间: 2024-01-05 12:05:15 浏览: 170
可以使用Lambda表达式实现该方法,代码如下:
```
Calculator calculator = (a, b) -> (a + b) / 2.0;
double result = calculator.calculate(5, 7);
System.out.println(result); // 输出6.0
```
其中Lambda表达式`(a, b) -> (a + b) / 2.0`实现了`calculate()`方法的逻辑。在主函数中,我们创建了一个`Calculator`对象,并调用`calculate()`方法计算`(5 + 7) / 2`的结果,最终输出结果`6.0`。注意,Lambda表达式的参数个数和类型必须与函数式接口中唯一的抽象方法的参数个数和类型相匹配。
阅读全文