函数式接口
从名称上看,在不清楚这种接口如何定义使用的情况下,我们直接先按数学定义写一个函数表达式:
y = f(x) //y就是函数,f(x)就是抽象的运算表达式,表示对x的抽象运算操作,
f(x) = 2x //f(x)求值表达式是 2*x,即函数 y = 2x;
接下来再给一个函数式接口的应用案例:(按标注顺序阅读)
通过上面的例子,应该已经对函数式接口有了大概理解,现在详细探讨下:
第一步,函数式接口的定义,我们将整个接口视为抽象的数学函数 中的f(x) ,对x操作的抽象算法;
第二步,将函数式接口作为形参 的方法 定义,可以将这个方法视为
y = f(2), 就是未知数x赋值2,运算表达式还是没有具体实现,但有了返回值结果即 函数 y ;
第三步,对函参方法的调用,并实现接口方法,简化为lambda表达式可以将这步调用过程视为y = f(2) = 2*2
将抽象的运算表达式f(2)具体化为 2*2 ,具体化这个过程就是实现接口方法的方法体中代码,已简化为lambda表达式。