java - 为什么 Java 8 中的函数式接口(interface)只有一个抽象方法?

标签 java java-8 functional-interface

正如我们所知,在 Java 8 中引入了函数式接口(interface)的概念。一个功能接口(interface)有一个抽象方法,并且可能有几个默认或静态方法。

但是为什么一个函数式接口(interface)应该只有一个抽象方法呢? 如果接口(interface)有不止一个抽象方法,为什么这不是功能接口(interface)?

最佳答案

引入了功能接口(interface),也称为单一抽象方法接口(interface),以促进 Lambda 函数。由于 lambda 函数只能提供 1 个方法的实现,因此功能接口(interface)必须只有一个抽象方法。更多详情 refer here .

编辑 -> 这里还值得注意的是,函数式接口(interface)可以在接口(interface)中有一个默认实现。您将在上面的链接中找到有关实现的更多详细信息。

关于java - 为什么 Java 8 中的函数式接口(interface)只有一个抽象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23342499/

相关文章:

java-8 - 如何对 LocalDateTime 进行排序并获得最大值和最小值?

java-8 - 用双列表示法结合函数和消费者

java - 避免在时间戳上使用 java.lang.ThreadGroup

java - 在 Spring 中读取属性文件的最佳方法

java - 使用 pom-packaging maven 项目作为依赖

javascript - 如何在 Eclipse 中将 Prototype JavaScript Framework 添加到 jee/jsp/servlet 项目中?

java - 扩展类而不添加任何新字段

java - 使用 java 流解析列表

java - 我们如何/为什么可以说 java 8 中的功能接口(interface)是标记接口(interface)

java - lambda 中的无限 while 循环内的 Thread.sleep 不需要 'catch (InterruptedException)' - 为什么不呢?