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