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的主要内容,如果未能解决你的问题,请参考以下文章

JDK1.8新特性之--方法引用

JDK1.8源码分析03之idea搭建源码阅读环境

JUC系列并发容器之ConcurrentHashMap(JDK1.8版)

JDK1.8 之Lambda

jdk1.8之@FunctionalInterface

JDK1.8源码泛读之Arrays