为什么 Java 8 中的函数式接口有一个抽象方法?

2023-12-09

我们知道,在Java 8中,引入了函数式接口的概念。函数式接口有一个abstract方法和几个默认或静态方法是可能的。

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


函数式接口也称为单一抽象方法接口引入是为了方便 Lambda 函数。由于 lambda 函数只能提供 1 个方法的实现,因此功能接口必须只有一个抽象方法。更多细节参考这里.

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Java 8 中的函数式接口有一个抽象方法? 的相关文章

  • HashMap不写入数据库

    我尝试在我的数据库中写入 但只写入发件人和消息 我不明白为什么会发生这种情况 我认为问题出在我使用 sendMessage 的地方 我认为问题是我没有什么可以做的读 写其他用户的主键 我在数据库中写入消息的活动 public class M
  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • 为什么 java 编译器不报告 Intellij 中多播表达式的未经检查的强制转换警告?

    为什么下面的代码没有报告 Intellij IDEA 的未经检查的警告jdk 1 8 0 121自从Supplier
  • Spring安全“记住我”cookie在第一个请求中不可用

    我无法在登录请求后检索 Spring 记住我 cookie 但它在对受保护页面的下一个请求中工作正常 谁能告诉我怎样才能立即得到它 我在登录请求中设置了记住我的 cookie 但在 Spring 重定向回原始 受保护的 url 后无法检索它
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • Java套接字:在连接被拒绝异常时重试的最佳方法?

    现在我正在这样做 while true try SocketAddress sockaddr new InetSocketAddress ivDestIP ivDestPort downloadSock new Socket downloa
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 解析输入,除了 System.in.read() 之外不使用任何东西

    我很难找到具体的细节System in read 有效 也许有人可以帮助我 似乎扫描仪会更好 但我不允许使用它 我被分配了一个任务 我应该以 Boolean Operator Boolean 的形式读取控制台用户输入 例如T F 或 T T
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • 为什么java中的for-each循环中需要声明变量

    for 每个循环的通常形式是这样的 for Foo bar bars bar doThings 但如果我想保留 bar 直到循环结束 我可以not使用 foreach 循环 Foo bar null Syntax error on toke
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • Java:多线程内的 XA 事务传播

    我如何使用事务管理器 例如Bitronix http docs codehaus org display BTM Home JBoss TS http www jboss org jbosstm or Atomikos http www a

随机推荐

  • 使用jquery防止汉字输入

    如何防止使用jquery输入汉字 validator addMethod regex function value element regexp var check false return this optional element re
  • 使用 postgres.app 在 rvm 下需要 pg 时出错

    我在用着Postgres app在 OS X 10 8 3 上 我已经修改了我的PATH所以这样bin该应用程序的文件夹位于所有其他文件夹之前 Rammy phrogz which pg config Applications Postgr
  • 将换行符替换为文字 \n

    这个计算器问题有一个用 sed 替换换行符的答案 使用格式 sed a N ba s n g 这有效 但不适用于 r n 等特殊字符 我想做的是将换行符替换为文字 n 尝试过 sed a N ba s n n g and sed a N b
  • 错误:java: javacTask: 源版本 8 需要目标版本 1.8

    使用IntelliJ IDE无法编译任何项目 设置截图如下 使用的JDK 项目SDK和语言级别 语言水平 有人有什么想法吗 Go to 文件 gt 设置 gt 构建 执行 部署 gt 编译器 gt Java 编译器如果在 Mac 上 则位于
  • 如何从 DOM 中删除某个类的所有元素?

    var paras document getElementsByClassName hi for var i 0 i lt paras length i paras i style color ff0011 hi remove p clas
  • 尝试访问 CIFilter 的 outputImage 时出现“无法识别的选择器”

    我第一次尝试 Core Image 在 OS X 10 7 3 上 但遇到了困难 我确信我正在做的事情很愚蠢 只需要更熟悉该框架的人向我指出 考虑以下代码 让我们规定imageURL是指向磁盘上 JPG 的有效文件 URL CIImage
  • 如何在 Swift 中获取小数位数并加一?

    我需要在最后一个小数位实现加函数 例如 print plusOne 0 0001 gt 0 0002 print plusOne 0 000001 gt 0 000002 print plusOne 22 gt 23 有人做过这件事吗 您可
  • Struts2 jQuery struts-plugin.xml 无效

    我已经设置了一个由 Struts2 Springs JPA 组合而成的项目 我最近遇到了Struts2 Jquery 插件 在我的项目中使用这个插件 struts2 jquery plugin 3 5 1 jar 时出现错误 Unable
  • 如何获取连接到 Android 设备的 USB 配件列表?

    我有一个基于棒棒糖的安卓盒子 该盒子有一个 USB 端口 类似于 Android 手机中的微型 USB 端口 我想检查是否有任何主机连接到 USB 端口 并且 Android 盒子处于设备模式 类似于手机连接到 PC 时的情况 至少 我只需
  • 哪些类型的控件不会显示在 Spy++/Inspect 中?

    我们正在开发一个 Windows 桌面应用程序 该应用程序可以从其他应用程序上的其他控件中提取值 我们的产品非常适合大多数桌面应用程序 我注意到某些控件没有显示在检查和 Spy 中 例如 在 GP 2015 客户端中 只有少数控件可在 Sp
  • 计算平均字长和平均句子长度的 Java 代码

    好吧 我是一个相对较新的程序员 在这项任务上我遇到了很大的困难 作业是创建一个 2 类 java 代码 该代码将读取一个文件 具体是一本书 并对其进行分析以计算平均句子长度和平均单词长度 正确的输出应该是这样的 gt java WordMa
  • python相同unicode的不同长度

    我发现关于 unicode 的一些事情很奇怪 根据我的理解 如果我 u string 类型将是 unicode 但为什么它们的长度不同 print len u New York u200b 14 print type u New York
  • hdfs 权限被拒绝

    我是hadoop分布式文件系统的新手 我已经在我的机器上完成了hadoop单节点的完整安装 但是之后当我将数据上传到hdfs时 它给出了错误消息Permission Denied 来自终端的消息 包含命令 hduser ubuntu usr
  • 为什么我们在c++中需要接口或纯虚函数

    为什么我们在c 中需要接口 纯虚函数或抽象类 我们可以不使用抽象类 而使用一个基类并在其中定义虚函数 并在派生类中重写该虚函数吗 上述方法有什么优点和缺点 除了我们可以创建基类的对象 纯虚函数适用于没有合理的方法在基类中实现该函数的情况 例
  • 如何重新排序整数的字节? [复制]

    这个问题在这里已经有答案了 我的任务是使用 C 将数据文件从大端转换为小端 反之亦然 我已经在网上查找了大约 3 个小时的其他示例并阅读了我的教科书 但是我对如何开始这个问题非常困惑功能 到目前为止 我的事件顺序是正确的 1 到 4 但在我
  • 适用于所有 iOS (iPhone/iPad/Apple Watch) 设备的 App Store Connect 屏幕截图尺寸

    我正在尝试向 App Store 提交新的应用程序 但现在 Apple 要求提供 4 7 英寸和 5 5 英寸 iPhone 的屏幕截图 有人有这些截图规格 尺寸 吗 我尝试过 640 x 1136 纵向 640 x 1096 纵向 113
  • 如何解决问题:int无法解引用

    这里我有一些值 其中两个是整数 并且我无法对它们调用方法 因为它们不是引用 我该如何解决这个问题 String srcAddr dstAddr protocol int srcPort dstPort public int hashCode
  • 如何在 Django Rest Framework 中显示 ManyToMany 字段的值而不是 Id?

    Model class Genre models Model name models CharField max length 100 def str self return self name class Song models Mode
  • 带有悬挂缩进的内联描述列表

    我想创建一个描述列表 其中每个术语和描述对都出现在一行中 但这些 行 带有悬挂缩进 以防它们换行 这是我想要的视觉效果 但使用p元素代替 p margin 0 0 0 2em text indent 2em p b H b Himenaeo
  • 为什么 Java 8 中的函数式接口有一个抽象方法?

    我们知道 在Java 8中 引入了函数式接口的概念 函数式接口有一个abstract方法和几个默认或静态方法是可能的 但为什么功能接口应该只有一个抽象方法呢 如果接口有多个抽象方法 为什么这不是函数式接口 函数式接口也称为单一抽象方法接口引