java8 lambda表达式-@FunctionalInterface注解

说明

Java 8为函数式接口引入了一个新注解 @FunctionalInterface

作用

检查错误,当接口 不符合 函数式接口 时,编译器会报错

检查以下错误

  1. 该注解只能标记在 有且仅有一个抽象方法 的接口上。

  2. JDK8接口中的 静态方法默认方法都不算抽象方法

  3. 接口默认继承 java.lang.Object,如果接口显示覆盖 Object 中方法,那么也 不算抽象方法

提示: 该注解不是必须的,如果一个接口符合 函数式接口 定义,那么加不加该注解都没有影响。加上该注解能够更好地 让编译器进行检查

注意: 不是函数式接口,但是加上了 @FunctionInterface,那么编译器会报错


原文出处:https://www.malaoshi.top/show_1IX362OP95rQ.html