函数式接口是java8的新特性;
定义:
函数式接口是@FunctionalInterface修饰且必须有一个抽象方法的接口。可以有多个static和default修饰的方法,但是抽象方法只能唯一;
例子:
@FunctionalInterface public interface FunctionInterfaceTest { void test1(String s); static String test2(String a,String b){ return a.concat(b); } default String test3(String a,String b){ return b; } static String test4(String a,String b){ return a; }
default String test5(String a,String b){ return b; } }
使用:
public class FunctionalMainTest { public static void main(String[] args){ FunctionInterfaceTest functionInterfaceTest = s -> System.out.println(s); FunctionInterfaceTest functionInterfaceTest1 = s -> System.out.println(s.concat("1")); System.out.println(FunctionInterfaceTest.test2("1","2")); System.out.println(FunctionInterfaceTest.test4("2","3")); functionInterfaceTest1.test1("1"); System.out.println(functionInterfaceTest1.test3("123","3")); } }
注意了:1、static修饰的方法可以直接使用
2、static和default修饰的方法必须有实现;