1.定义一个函数式接口
2.子类实现接口,重写接口中的方法
3.new实列对象
4.内部类重写方法
5.使用lambdal表达式可以不用创建类,直接重写方法
6.使用的前提是函数式接口只有一个方法
7.表达式;实例对象=(参数)->{ 重写方法};
package TestLambdal;
/*
* 推导Lambdal表达式
* */
//3静态内部类
public class TestLambdal {
static class Like2 implements ILike {
@Override
public void lambdal() {
System.out.println("I Like lambdal2");
}
}
public static void main(String[] args) {
ILike like = new Like();//接口应该new实现类
like.lambdal();
like = new Like2();
like.lambdal();
//4局部内部类
class Like3 implements ILike {
@Override
public void lambdal() {
System.out.println("I Like lambdal3");
}
}
like = new Like3();
like.lambdal();
//5匿名内部类,没有类的名称,必须new一个接口或父类
like = new ILike() {
@Override
public void lambdal() {
System.out.println("I like lambdal4");
}
};
like.lambdal();
//使用lambdal简化,可以避免多个内部类重复
like=()-> {//没有参数要写括号
System.out.println("I like lambdal5");
};
like.lambdal();
}
}
//1定义一个函数接口
interface ILike{
void lambdal();
}
//2实现类实现接口,重写方法
class Like implements ILike{
@Override
public void lambdal() {
System.out.println("I Like lambdal");
}
}