Can方法返回一个值



我认为只有函数才有返回语句,因为它们是显式调用的,而方法是在类上隐式调用的。但是,我看到了一些代码示例,其中方法有一个return语句。这是传统的吗?另外,我说只有函数才返回值是不是错了?具有返回语句的方法是OOP语言的多种语言的标准约定吗?

方法是与对象(或类)关联的函数。所以,是的,它们可以返回值,也可以不返回值。

此外,自己尝试和/或阅读文档是一种更好的学习方式,而不是在遇到困难时立即询问我们!)

以下是Oracle关于定义方法的文档。

我认为这是理论问题。让我澄清一些要点。

OOP 之前

  • 程序是用来做某事的一些程序
  • 函数是一些用来执行某些操作并返回值的程序,比如Math f(x)=x*y+E2

OOP 之后

  • 过程和函数被称为方法,如果它们返回或不返回某个值,则它们是相等的

PD:我们也有方法:

  • 与firm:函数A(b,x){…}
  • 没有firm:函数A(){…}
  • anoimate:函数(){…}

该帖子包含不正确的假设。对于初学者来说,Java只有有"方法(在这种情况下),即使是静态的。鉴于此,Java中的大多数方法都可以返回值。

现在,作为的例子1,对于与VB.NET(源自BASIC)等语言的等价性,

返回值的方法是"函数过程"(BASIC语言)-这些方法返回值,然后可以用作适当类型的表达式。它们必须在所有可能的代码执行路径上包含一个return语句。

具有void返回类型的方法是"子过程"(BASIC语言)-这些方法不(也不能)返回值。此类方法只能作为语句调用。

1术语"函数"、"过程"one_answers"子程序",例如,高度依赖于语言/上下文,这就是前面提到的原因。因此,正确的Java术语要求使用"methods[return some value on completion]"one_answers"void methods"来描述差异——尽管我发现在描述"计算一个没有副作用的值"的操作时,或者当将其作为高阶参数(如lambdas)提供时,"function"仍然是口语化的(在我的圈子里)。

只要返回类型不是void,方法就可以有返回语句。定义方法时,可以将方法设为public或private、static或not static,选择返回类型(byte、short、int、long、float、double、boolean、char),命名方法并定义输入。

 `public static returnType methodName(input) {
  // body
  }`

最新更新