函数式接口是有且仅有一个实现方法的接口
lamdba只能实现函数式接口
jdk1.8及之后的版本支持lamdba表达式
jdk1.8中实现lamdba 函数式接口
package hello2;
@FunctionalInterface
public interface Lambda01 {
public int add(int a,int b);
}
package hello2;
public class Lamdba02 {
public static void main(String[] args) {
Lambda01 a=(int b,int d)->b+d;
System.out.println(a.add(10,20));
}
}
如果想实现函数式接口中的方法,要么写该接口的实现类,要么使用匿名内部类,要么使用lamdba表达式(如上)
如果是普通接口,就只能要么实现该接口的实现类,要么使用匿名内部类
该接口的实现类如下
package hello2;
public class Lamdba02 implements Lambda01 {
@Override
public int add(int a, int b) {
return a+b;
}
}
使用匿名内部类 如下
package hello2;
public class Lamdba02 {
Lambda01 lambda01 =new Lambda01() {
@Override
public int add(int a, int b) {
return a+b;
}
};
}
本文介绍了Java 8中的Lambda表达式和函数式接口的概念。Lambda表达式允许以简洁的方式实现只有一个抽象方法的接口,简化了代码。示例展示了如何在`Lambda01`接口中使用Lambda表达式、实现类以及匿名内部类来定义`add`方法。了解这些特性对于提升Java 8及更高版本的编程效率至关重要。


被折叠的 条评论
为什么被折叠?



