Lambda表达式的演化过程
// Main外部有一个接口,其中只有一个抽象方法(函数式接口)
interface iface {
void out();
}
// 1.在Main外部实现接口
class Stance1 implements iface {
@Override
public void out() {
System.out.println("Number One!");
}
}
// 2.Main静态内部类
static class Stance2 implements iface {
@Override
public void out() {
System.out.println("Number Two!");
}
}
// 3.main()中的局部内部类
class Stance3 implements iface {
@Override
public void out() {
System.out.println("Number Three!");
}
}
Stance3 stance3 = new Stance3();
stance3.out();
// 4.匿名内部类,没有新的类名称
iface stance4 = new iface() {
@Override
public void out() {
System.out.println("Number Four!");
}
};
stance4.out();
// ※5.lambda表达式 (param) -> { body };
// param为接口中那个唯一方法的参数, body为接口中唯一方法的方法体
iface stance5 = () -> {
System.out.println("Number Five! ");
};
stance5.out();
}