学习笔记4:java 1.8 函数式接口 @FunctionalInterface 注解
来源:互联网 发布:知乎 发现 编辑:程序博客网 时间:2024/06/06 23:17
下面贴一段简单的函数式接口代码:
/** * @author 雷钊 * @Date on 2017/12/24 * @Description */@FunctionalInterfacepublic interface DefultInterface { /** * 加1 * * @param num */ public default int addOne(int num) { num -= 1; return num; } /** * 减一 * * @param num */ public int removeOne(int num);}
@FunctionalInterface
没错 函数式接口 就是这么简单 , 就多了一个注解
作用:
如果interface加上了这个注解,那么这个接口,将 只能有一个”抽象”方法 ,否则编译将报错.
注意: defult 方法不算,可以有多个,不受限制
运用时机:
在下理解, @FunctionalInterface 这个注解,是为了 lambda 表达式打造的,因为 lambda 表达式,系统会自动去匹配方法,但是安全性没法儿保证了,为了解决这个问题.可以通过这个注解, 强制 达到只有一个实现方法的目的.
阅读全文