jdk1.8之@FunctionalInterface

@FunctionalInterface
interface LambdaExpress {

    public int add();

    default int div(int a, int b) {
        System.err.println("lambda default method");
        return a / b;
    }

    public static int mv(int a, int b) {
        System.err.println("lambda static method...");
        return a * b;
    }
}
解释:
@FunctionalInterface:表明当前接口是一个函数式接口,有且仅有一个有声明,但没有实现的方法。
1.在jdk1.8以前,只能在接口中声明方法,不能有实现
在jdk1.8以后,不仅可以在接口中定义有声明没实现的方法,还可以定义有实现的方法,还可以定义有实现的
静态方法
2.default:
对于要在接口中定义有实现的方法,需要在方法前加关键字:default
3.接口中的静态方法
可以在接口中定义静态方法
lambda表达式的使用:
(参数1,参数2) -> {方法实现}  //可简单为: 拷贝参数值 写死右箭头 落地大括号(逻辑实现)
 

原文地址:https://www.cnblogs.com/MrRightZhao/p/12523415.html