Java8函数式接口与@FunctionlInterface

2020-04-24 15:16:10 蜻蜓队长

Java8规定:如果接口中只有一个抽象方法(可以包含多个默认方法或多个static方法),该接口就是函数式接口。@FunctionlInterface就是用来指定某个接口必须是函数式接口。例如,如下程序就使用@FunctionlInterface修饰函数式接口。

@FunctionalInterface
public interface FunInterface {
    static void foo(){
        System.out.println("foo类方法");
    }
    default void bar(){
        System.out.println("bar 默认方法");
    }
    void test();//只定义一个抽象方法
}

编译上面程序,可能丝毫看不出程序中的@FunctionalInterface有何作用,因为@FunctionalInterface只是告诉编译器检查这个接口,保证该接口只能包含一个抽象方法,否则就会编译出错。@FunctionalInterface主要是帮助程序员避免一些低级错误,比如多个抽象方法。

注意:@FunctionalInterface只能修饰接口,不能修饰其他程序元素。

以上内容来自于网络,如有侵权联系即删除
相关文章

上一篇: 消息队列的使用和注意事项

下一篇: 关于PHP7.0与PHP5.6下Laravel博客应用性能对比分析详解

客服紫薇:15852074331
在线咨询
客户经理