Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 参数是传递给lambda表达式内的括号还是传递给接口内的方法?_Java - Fatal编程技术网

Java 参数是传递给lambda表达式内的括号还是传递给接口内的方法?

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

我不知道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)
    {
    
      
      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;}