Java 如何创建函数式接口

Java 如何创建函数式接口

本文写于 2022 年 06 月 20 日

函数式接口

当我们生命的接口有且仅有一个抽象方法签名时,这个接口就可以作为一个函数式接口。(可以有其他非抽象方法,或者覆盖 Object 的 public 方法)

例如:

@FunctionalInterface
public interface Adder {
  int add(int a, int b);
}

这里使用 FunctionalInterface 注解,可以让编译器和 IDE 帮助我们检查该接口是否符合函数式接口的定义,如果不符合,就会报错。

当我们声明了一个函数式接口后,在传入参数时就可以直接使用 lambda 表示来简化操作。

class Main {

  public static void main(String[] args) {
    foo(() -> a + b, 1, 2);
  }

  private static void foo(Adder adder, int a, int b) {
    System.out.println(adder.add(a, b));
  }

}

或者你也可以选择创建一个实现类实现 Adder 接口,再将类实例化后传入方法。

或者也可以使用匿名内部类。

(完)

posted @ 2022-07-22 11:24  徐航宇  阅读(253)  评论(0编辑  收藏  举报