函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。
函数式接口可以被隐式转换为 lambda 表达式。
@FunctionalInterface public interface demo_functioningerface { public abstract void method(); }
实现方式
一、使用实现类
public class demo_functionalclass implements demo_functioningerface { @Override public void method() { System.out.println("我是实现类方法"); } }
public class demo_test { public static void main(String[] args) { show(new demo_functionalclass()); } private static void show(demo_functioningerface e) { e.method(); } }
二、使用匿名内部类
public class demo_test { public static void main(String[] args) { show(new demo_functioningerface() { @Override public void method() { System.out.println("我是匿名内部类"); } }); } private static void show(demo_functioningerface e) { e.method(); } }
三、使用lambda表达式
public class demo_test { public static void main(String[] args) { show(() -> System.out.println("我是lambda表达式")); } private static void show(demo_functioningerface e) { e.method(); } }