Java 参数是传递给lambda表达式内的括号还是传递给接口内的方法?
我不知道db.dydx10,20,30中的10,20,30是传递给DragonBall接口中的dydx方法,还是lambda表达式double w,double q,double e中的括号Java 参数是传递给lambda表达式内的括号还是传递给接口内的方法?,java,Java,我不知道db.dydx10,20,30中的10,20,30是传递给DragonBall接口中的dydx方法,还是lambda表达式double w,double q,double e中的括号 interface DragonBall { double dydx(double q, double w, double e); } class A { public static void main(String [] args) { Dra
interface DragonBall
{
double dydx(double q, double w, double e);
}
class A
{
public static void main(String [] args)
{
DragonBall db = (double q, double w, double e) -> q * 10;
System.out.println(db.dydx(10,20,30));
}
}
龙珠db=双q、双w、双e->q*10
这是一条捷径
DragonBall db = new DragonBall() {
double dydx(double q, double w, double e) {
return q * 10;
}
}
您实现了接口,而接口就是处理数据的地方。您无法向接口传递任何内容,因为接口没有可执行代码。在代码中实现该接口的dydx方法的唯一东西是lambda,因此参数被传递到lambda主体。这里的链接为您提供了更深入的解释,从中删除不需要的注释@functionanterface。是同一件事吗?类DragonBall{public double dydxdouble q,double w,double e{return q*10;}}}类hello{public static void mainString args{DragonBall db=new DragonBall;System.out.printlndb.dydx10,20,30;}