java8 abstract FunctionalInterface怎么使用
在Java 8中,@FunctionalInterface注解用于标记一个接口是一个函数式接口,即只有一个抽象方法的接口。函数式接口可以通过lambda表达式或方法引用创建一个函数对象。
下面是使用@FunctionalInterface的示例:
@FunctionalInterface
interface MyFunctionalInterface {
void myMethod(); // 抽象方法
default void myDefaultMethod() {
// 默认方法
}
static void myStaticMethod() {
// 静态方法
}
}
public class Main {
public static void main(String[] args) {
// 使用lambda表达式创建函数对象
MyFunctionalInterface functionalInterface1 = () -> System.out.println("Hello");
// 使用方法引用创建函数对象
MyFunctionalInterface functionalInterface2 = Main::myMethod;
functionalInterface1.myMethod(); // 输出: Hello
functionalInterface2.myMethod(); // 输出: Hello
}
public static void myMethod() {
System.out.println("Hello");
}
}
注意:
- @FunctionalInterface注解不是必需的,但它可以确保接口只有一个抽象方法,以便能够使用lambda表达式创建函数对象。
- 函数式接口可以包含默认方法和静态方法,但只有一个抽象方法。
- lambda表达式和方法引用可以用来创建函数对象,这些函数对象可以在需要函数式接口的地方使用,例如作为方法的参数或返回值
原文地址: http://www.cveoy.top/t/topic/iisn 著作权归作者所有。请勿转载和采集!