我认为只有函数有返回语句,因为它们是显式调用的,而方法是在类上隐式调用的。但是,我已经看到了一个代码示例,其中一个方法有一个return语句。这是传统的吗?另外,我错误地说只有函数返回值,并且返回语句的方法是跨OOP语言的多种语言的标准约定吗?
答案 0 :(得分:2)
方法是与对象(或类)关联的函数。所以,是的,他们可以返回值,不是。
另外 - 自己尝试和/或阅读文档是一种更好的学习方式,而不是一旦遇到问题就问我们! ;)
答案 1 :(得分:0)
该帖子包含错误的假设。对于初学者来说,Java 仅具有"methods(在此上下文中),即使是静态的。鉴于此,Java 中的常规方法可以返回一个值。
现在,作为示例 1 ,对于与VB.NET(源自BASIC)等语言的等效性,
返回值的方法是“函数过程”(BASIC术语) - 这些方法返回一个值,然后可以用作适当类型的表达式。它们必须在所有可能的代码执行路径上包含return
语句。
具有void
返回类型的方法是“子过程”(BASIC术语) - 这些方法不会(也不能)返回值。这些方法只能称为语句。
1 术语"function", "procedure", and "subroutine",例如,高度依赖于语言/上下文,这就是为什么上面的原因。因此,正确的Java术语规定使用“方法[在完成时返回一些值]”和“无效方法”来描述差异 - 尽管我发现“功能”在描述操作时仍然通俗地(在我的圈子中)使用“计算没有副作用的值”或者当它作为高阶参数提供时(例如lambdas)。
答案 2 :(得分:0)
我认为这是理论问题。让我说清楚一些观点。
在OOP之前
OOP之后
PD:我们也有方法:
答案 3 :(得分:0)
只要返回类型不为void,方法就可以有return语句。定义方法时,可以使方法为public或private,static或not static,选择返回类型(byte,short,int,long,float,double,boolean,char),命名方法,并定义输入
`public static returnType methodName(input) {
// body
}`