Java 方法可以返回值吗?

Java 方法可以返回值吗?,java,return,Java,Return,我认为只有函数才有返回语句,因为它们是显式调用的,而方法是在类上隐式调用的。然而,我看到了一些代码示例,其中一个方法有一个返回语句。这是传统的吗?另外,我说只有函数才能返回值,并且具有返回语句的方法是否是跨多个语言的标准约定(只有OOP语言)?方法是与对象(或类)关联的函数。所以,是的,它们可以返回值,也可以不返回 此外,亲自尝试和/或阅读文档是一种更好的学习方式,而不是在遇到困难时立即询问我们!;) 用于定义方法。该帖子包含错误的假设。对于初学者来说,Java只有(在此上下文中),即使是静态的

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

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

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


用于定义方法。

该帖子包含错误的假设。对于初学者来说,Java只有(在此上下文中),即使是静态的。考虑到这一点,Java中的大多数方法都可以返回一个值,这是非常正确的

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

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

具有
void
返回类型的方法是“子过程”(基本术语)——这些方法不(也不能)返回值。此类方法只能作为语句调用


1术语,例如,高度依赖于语言/上下文,这就是为什么上面的前言。因此,正确的Java术语要求使用“方法[在完成时返回一些值]”和“void方法”来描述差异——尽管我发现在描述“计算一个没有副作用的值”的操作或作为高阶参数提供时,“函数”仍然是口语化的(在我的圈子中)我认为这是理论上的问题。让我澄清几点

在OOP之前

  • 程序是用来做一些事情的程序
  • 函数是一组用于执行某些操作和返回值的程序,比如数学f(x)=x*y+E2
在OOP之后

  • 过程和函数称为方法,如果它们返回或不返回某个值,则它们是相等的
PD:我们还有一些方法:

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

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

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

Java只有方法(其中一些方法是
static
)。所有未使用返回类型
void
声明的非方法都可以返回值,大多数方法都可以返回值(但它们可能无限循环或引发异常)。这可能是进一步理解的好来源: