gpt4 book ai didi

Lambda 表达式 JAVA-8

转载 作者:行者123 更新时间:2023-12-02 02:57:36 24 4
gpt4 key购买 nike

我刚刚开始使用 JAVA 1.8 版本,在浏览有关 lambda 表达式的教程时遇到了一个问题。

我们可以通过在同一个类中创建接口(interface)的多个实例来为抽象方法拥有超过 1 个实现(lambda 表达式)吗???我尝试了代码,它运行得很好......

现在我的问题是,接口(interface)的概念就是每个实现类都会有一个抽象方法的定义。那么我们如何在同一个类中拥有两个方法体(lambda 表达式)???

考虑下面的代码:

public static void main(String[] args) {

Interf i = (a, b) -> a + b;
System.out.println("The result is >> " + i.result(10, 20));

Interf i1 = (a, b) -> a - b;
System.out.println("The result is >> " + i1.result(10, 20));


}

输出:

结果是 >> 30

结果是 >> -10

最佳答案

两个 lambda 表达式分别实现您的 Interf 函数接口(interface)。因此,该接口(interface)的每个实现都有该接口(interface)的单个​​抽象方法的单个实现。

即使在 Java 8 和 lambda 表达式之前,您也可以创建两个实现 Interf 接口(interface)的匿名类实例。它们中的每一个都具有 Interf 的单个方法的单个实现。

两个 lambda 表达式在同一个类中定义这一事实并不意味着功能接口(interface)抽象方法的两个实现属于同一个类。

关于Lambda 表达式 JAVA-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53313656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com