java函数式接口的三种实现方式

函数式接口(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();
    }
}

 

你可能感兴趣的:(java)