package ThreadDemo;
// lambda 表达式
/* // 代码简化
外部类-->静态内部类-->局部内部类-->匿名内部类-->lambda表达式 一步步简化代码
*/
public class Test10_lambda {
public static void main(String[] args) {
// 1.匿名内部类,必须有接口或者父类 new Ilike() 就是匿名内部类 , like 是一个对象
ILike like1 =new ILike(){
@Override
public void like(int a) {
System.out.println("i like study1"+a);
}
};
like1.like(1);
//2. lambda 表达式进行简化,
ILike like2= (int a)->{System.out.println("i like study2"+a);};
like2.like(2);
// 进一步简化 参数类型,小括号,花括号
ILike like3= a ->System.out.println("i like study3"+a);
like3.like(3);
}
}
// 必须是函数式接口(只含有唯一的抽象方法)
interface ILike{
void like(int a);
}