public class demo1 {
//内部实现类3
static class IIlike2 implements Like{
@Override
public void lamda() {
System.out.println("Lambda3");
}
}
public static void main(String[] args) {
/* 使用Ladmda前提:接口只有一个抽象方法,也就是一个函数式接口
*
* */
IIlike iIlike = new IIlike();//类名 对象名= new 类名
Like iIlike2 = new IIlike();//接口 对象名= new 类名
iIlike.lamda();//通过 类名 对象名 = new 类名的方式 调用,只能实现自己的实现方法
//局部内部类
Like like1 = new IIlike();// 接口 对象名 = new 类名
like1 = new IIlike2();
like1.lamda();
like1 = new YOU();//接口对象 = new 类名
like1.lamda();
//匿名内部类
like1 = new Like() {
@Override
public void lamda() {
System.out.println("Lamdba4");
}
};
like1.lamda();
//用Lambda简化1
like1 = ()->{
System.out.println("Lamdba5");
};
like1.lamda();
//简化2:
// 如果代码有多行则不能简化括号,多行必须有代码块包裹,必须是函数式接口
like1 =() -> System.out.println("Lamdba5");
}
}
//实现类2
class IIlike implements Like{
@Override
public void lamda() {
System.out.println("Lambda2 ");
}
}
//实现类1
class YOU implements Like{
@Override
public void lamda() {
System.out.println("Lambda1");
}
}
//接口
interface Like{
void lamda();
}
java----函数式接口---Lamda表达式
最新推荐文章于 2024-06-07 08:25:31 发布