首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java 7和java 8中使用“函数”而不是“方法”是概念错误吗?

在java 7和java 8中使用“函数”而不是“方法”是概念错误吗?
EN

Stack Overflow用户
提问于 2015-11-05 09:35:26
回答 3查看 260关注 0票数 5

在java7和java8中使用“函数”和“方法”会不会引起混淆?

我知道java 8引入了一些概念,比如lambda演算,它允许使用少量的函数范例。

函数,如在lambda微积分,函数式编程。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-05 09:44:18

在非正式谈话中,你也许可以通过互换功能和方法来逃避,但如果你想准确地记住这一点:

  • 方法总是与某些对象或类相关联,而函数则不是(尽管在Java中不能定义类或对象之外的函数),
  • 函数必须始终返回值,方法可能不会返回任何内容(void返回类型不是实际值)。

一般来说,你现在知道函数和方法是有区别的,所以记住它,从现在开始使用适当的术语。

票数 2
EN

Stack Overflow用户

发布于 2015-11-05 10:12:34

在谈到Java-8时,您可以使用"function“一词来指函数接口(使用单个抽象方法的接口)、实现此类接口的类或函数接口类型的表达式(包括lambda表达式或方法引用)。但是,不应将方法作为函数调用。这一点比以前的Java版本更加重要,就像在与Java-7相关的讨论中看到“函数”一词一样,您可以假设“方法”是指。但是在Java-8中,人们可能会认为你谈论的是功能接口,而不是方法。

所以可以这么说:

Stream.map方法接受函数作为参数。

Collector接口集成了供应商、累加器、组合器和裁剪器四种功能。

我将Objects::nonNull函数传递给Stream.filter方法。

但以下内容听起来令人困惑:

当我使用Math.sqrt函数时,我会得到一个奇怪的异常。

票数 3
EN

Stack Overflow用户

发布于 2015-11-05 09:41:03

函数与方法不同,不管java版本如何。尽管使用java 8,这些术语现在更有意义了。使用早期版本的java,您可以将函数看作静态方法,因为这些方法不绑定到类数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33540969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档