jdk1.8之@FunctionalInterface
Posted mrrightzhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) -> {方法实现} //可简单为: 拷贝参数值 写死右箭头 落地大括号(逻辑实现)
以上是关于jdk1.8之@FunctionalInterface的主要内容,如果未能解决你的问题,请参考以下文章