第十讲 Lambda 表达式
我们要从匿名类开始讲起,一点点引出Lambda表达式。我比较喜欢Lambda这个词,显得比较有学问似的。
我讲过,技术点不是孤立的,它们之间是有关联的,按照某种层次结构关联在一起就构成一个体系。我们在学习某个技术的时候,要了解它的来龙去脉,把某个技术点放在整体中学习会更有收获。事实上,学术论文一般都要求开头一段讲学术史,这是有道理的。当然,有个别天才能在不引用任何参考文献的情况下提出划时代的理论,横空出世。最著名的就是爱因斯坦在1905年写的《论动体的电动力学》。
以前提到过内部类中有一种是可以不用起名字的,称之为匿名类。使用匿名类是因为我们有些场景中不需要知道名字,也不关心它的名字,而是关心它里面的方法,这在事件响应模型中会常用。
下面来看一个例子,先用普通写法,代码如下:
interface Adder {
int add(int x, int y);
}
class MyAdder implements Adder {
@Override
public int add(int x, int y) {
return (x+y);
}
}
class AdderDemo {
public static void main(String[] args) {
Adder adder = new MyAdder();
System.out.println(adder.add(21,37));
}
}
程序简单,定义了一个接口,一个MyAdder 类实现它,用AdderDemo程序测试。运行无误