owenqing 联系🪐

Java FunctionalInterface 与 lambda 表达式

函数接口

FunctionalInterface 可以用来修饰只有一个方法的接口。这个接口被称为函数接口。
当函数接口作为参数类型时,可以使用匿名类或 lambda 表达式来实现该类型。

@FunctionalInterface
interface Person {
    public void walk();
}

匿名类实现函数接口类型

public class App {
    public static void main(String[] args) {
        Person p = new Person() {
            public void walk() {
                System.out.println("person walk");
            }
        };
        walk(p);
    }

    public static void walk(Person p) {
        p.walk();
    }
}

lambda 表达式实现函数接口类型

匿名函数实现接口中的函数,这种方式简化了实现匿名类的复杂过程。

public class App {
    public static void main(String[] args) {
        walk(() -> { System.out.println("person walk, lambda"); });
    }

    public static void walk(Person p) {
        p.walk();
    }
}
posted @ 2021-08-26 17:58  owenqing  阅读(107)  评论(0)    收藏  举报