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

Java8函数式接口与@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只能修饰接口,不能修饰其他程序元素。

相关文章:

  • 2022-01-09
  • 2022-12-23
  • 2021-10-17
  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
  • 2021-05-19
猜你喜欢
  • 2022-01-07
  • 2021-11-26
  • 2021-10-05
  • 2021-10-19
  • 2021-11-07
  • 2021-12-11
  • 2021-07-24
相关资源
相似解决方案