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();
}
}
浙公网安备 33010602011771号