java8:@FunctionalInterface函数式接口注解
来源:互联网 发布:打码辅助软件 编辑:程序博客网 时间:2024/06/07 02:59
我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。
通过JDK8源码javadoc,可以知道这个注解有以下特点:
1、该注解只能标记在”有且仅有一个抽象方法”的接口上。
2、JDK8接口中的静态方法和默认方法,都不算是抽象方法。
3、接口默认继承Java.lang.Object,所以如果接口显示声明覆盖了Object中方法,那么也不算抽象方法。
4、该注解不是必须的,如果一个接口符合”函数式接口”定义,那么加不加该注解都没有影响。加上该注解能够更好地让编译器进行检查。如果编写的不是函数式接口,但是加上了@FunctionInterface,那么编译器会报错。
@FunctionalInterface标记在接口上,“函数式接口”是指仅仅只包含一个抽象方法的接口。
如果一个接口中包含不止一个抽象方法,那么不能使用@FunctionalInterface,编译会报错。
比如下面这个接口就是一个正确的函数式接口:
// 正确的函数式接口 @FunctionalInterface public interface TestInterface { // 抽象方法 public void sub(); // java.lang.Object中的方法不是抽象方法 public boolean equals(Object var1); // default不是抽象方法 public default void defaultMethod(){ } // static不是抽象方法 public static void staticMethod(){ } }
0 0
- java8:@FunctionalInterface函数式接口注解
- java8函数式编程之一:@FunctionalInterface注解
- java8 函数式接口(FunctionalInterface) [一]
- java8 函数式接口(FunctionalInterface) [二]
- JDK8 注解:函数式接口@FunctionalInterface
- Java8新特性之 函数式接口FunctionalInterface详解
- java8学习总结——函数式接口@FunctionalInterface
- 学习笔记4:java 1.8 函数式接口 @FunctionalInterface 注解
- 使用Java8的函数式接口@FunctionalInterface实现简单异步调用
- 函数式编程@FunctionalInterface
- JDK8新特性:函数式接口@FunctionalInterface的使用说明
- JDK8新特性:函数式接口@FunctionalInterface的使用说明
- Java8:函数式接口
- java8内置函数式接口
- JAVA8 函数式接口介绍
- Java8内置函数式接口
- Java8之函数式接口
- jdk8新特性:Lambda表达式(也称为闭包、可传递的匿名函数)与函数式接口@FunctionalInterface
- 策略模式
- HttpUrlConnect GET()和POST()方法请求
- spark-2.1.1编译到python的site-package
- 一、HBase基础
- thinphp3.2 使用微信扩展类 token验证失败
- java8:@FunctionalInterface函数式接口注解
- CDNJS——Web上最快的JS资源库
- 数据结构C语言1-clock函数
- 2017年读书名单
- DB9串口管脚详解
- java单例模式
- 营销养号、封号、解封方法_微信公众号
- 分数序列1169
- 汇编程序:递归求年龄