//定义匿名内部类接口,使用@FunctionalInterface标记,让jdk解读为有且只能有一个实现类,以便我们使用 -> 箭头函数后,jdk能够正常翻译.
//lambda 提倡单一接口实现 然后继承的概念,但是jdk8以后增加了接口的默认实现,这一点很重要,可以用这个特点,实现一些常用业务.
@FunctionalInterface
public interface InterfaceA {
int doubleNum(int i);
default int add(int x,int y) {
return x + y ;
}
}
public static void main(String[] args) {
InterfaceA ia = i -> {// 接口的实现
return i + 1;
};
System.out.println(ia.doubleNum(1));
System.out.println(ia.add(2, 3));
InterfaceA ib = i -> i - 1;
System.out.println(ib.doubleNum(9));
InterfaceA ic = (int i) -> i * 5;
System.out.println(ic.doubleNum(8));
InterfaceA id = (i) -> i + 8;
System.out.println(id.doubleNum(9));
}