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) -> {方法实现} //可简单为: 拷贝参数值 写死右箭头 落地大括号(逻辑实现)
由于本人是自己学习总结出来的,有不足之处,请各位看官批评指出,我将及时改正,以提高知识总结的正确性和严谨性,为大家学习提供方便!!!
如若转载,请注明出处!!!