Java函数式接口可以通过Lambda表达式和方法引用来应用。
Lambda表达式是一种简洁的语法,可以使用它来实现函数式接口中的抽象方法。Lambda表达式的一般语法如下:
(参数列表) -> {方法体}
例如,假设有一个函数式接口Calculator
定义了一个抽象方法int calculate(int a, int b)
,可以使用Lambda表达式来实现该方法:
Calculator add = (a, b) -> a + b;
int result = add.calculate(3, 4); // 结果为7
方法引用是一种更为简洁的语法,可以使用它来引用已有的方法来实现函数式接口中的抽象方法。方法引用的一般语法如下:
目标引用::方法名
例如,假设有一个函数式接口Greeting
定义了一个抽象方法void greet(String name)
,可以使用方法引用来实现该方法:
Greeting greeting = System.out::println;
greeting.greet("Hello World!"); // 输出Hello World!
除了Lambda表达式和方法引用,Java函数式接口还可以通过匿名内部类来实现。使用匿名内部类时,需要创建一个实现了函数式接口的类,并在实现类中重写抽象方法。
总之,Java函数式接口可以通过Lambda表达式、方法引用和匿名内部类来应用。这些方法都可以简洁地实现函数式接口中的抽象方法。