函数式接口的定义:
-
任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。
-
对于函数式接口,我们可以通过lamda表达式来创建该 接口的对象
lambda表达式指的是:在单一的抽象方法接口环境下的一种简化定义形式。
内部类简化演变:
public class Demo11_Lamda2 {
public static void main(String[] args) {
//1.局部内部类
class Like12 implements ILike {
@Override
public void lamda() {
System.out.println("I like lamda2");
}
}
ILike like = new Like12();
like.lamda();
}
}
public class Demo12_Lamda3 {
public static void main(String[] args) {
//2.匿名内部类,没有类的名称,必须借助接口或者父类
ILike like = new ILike () {
@Override
public void lamda() {
System.out.println("I like lamda3");
}
};
like.lamda();
}
}
public class Demo13_Lamda4 {
public static void main(String[] args) {
//3.lamda简化
ILike like = () ->{
System.out.println("I like lamda4");
};
like.lamda();
}
}
( )—> 覆写抽象方法的方法体
【Lambda表达式是在接口上进行的一种操作,并且接口中只允许定义一个抽象方法!】