java - 为两个或多个方法实现匿名类

标签 java anonymous-class java-8

这是来自 article from oracle关于我正在阅读的匿名类:

Anonymous classes are ideal if you have to implement an interface that contains two or more methods

我认为如果你必须实现少于两个方法是理想的,因为你不需要创建更具体的命名类,但如果你必须实现两个以上将更不可读。

我的问题是: 为什么用 2 个或更多方法实现匿名类是最理想的?

最佳答案

你把这句话断章取义了。看看紧接在这句话之前的句子:

Because the EventHandler<ActionEvent> interface contains only one method, you can use a lambda expression instead of an anonymous class expression. See the section Lambda Expressions for more information.

(我强调的)

将来您将能够使用 lambda 表达式而不是只有一个方法的匿名类,因此只有当您的接口(interface)有多个方法时使用匿名类才有意义。

如果它有很多方法,可读性可能会受到影响,但没有其他语言结构强制特定实现只能在代码中的一个点使用。

关于java - 为两个或多个方法实现匿名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17479066/

相关文章:

java - 未收到超过 1 次的 TCP 消息

java - EXCEPTION_ACCESS_VIOLATION (0xc0000005) - OpenGL 索引数组

Scala 编译器说我的方法是递归的,以防使用隐式和匿名类

java - Java中的Lambda表达式机制

java - Stream<Set<Path>> 到 Set<Path>

java - 仅在 apache-tomcat-9 和 Java 8 中启用 TLS 1.2

java - 使用 JDBC 连接到 Openshift 数据库

generics - lambda 与匿名类

java - 如何使用 Collectors.groupingBy 创建嵌套 map ?

java - 当出现null时如何用Stream过滤Map?