我想知道除了使用lambda表达式的不同实现之外,功能接口的用例是什么?
以下是功能界面的基本示例:
/*Basic example for Functional interface with Lambda expression*/
public class Lambda_test {
/*
* Functional Interface annotation will not allow to declare more than one
* abstract method which is obvious for the concept
*/
@FunctionalInterface
interface NameTest {
// One abstract method
abstract String MyName(String name);
}
public static void main(String[] args) {
NameTest nametest = (name) -> "Ashwin " + name + "!";
System.out.println("My name is " + nametest.MyName("Savaj"));
}
}
答案 0 :(得分:1)
根据Java规范https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html
功能接口是只有一种抽象方法的接口 (除了对象的方法之外),因此代表单个 功能合同。
由于默认方法具有实现,因此它们不是抽象的。
@FunctionalInterface时:
除非以下情况,否则编译器将产生错误消息: