这是来自 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/