函数式接口是有且仅有一个实现方法的接口
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;
}
};
}