2

我见过的唯一 void 返回类型在方法中有 System.out.println 语句。因此,一旦调用该方法,就会打印这些字符串。
您不能创建返回类型字符串并返回字符串而不是返回类型为 void 吗?

如果 void 返回类型方法中有其他方法,您能否将返回类型设为该方法给出的值,该值将返回该方法的结果?

什么时候只能使用 void 返回类型?

4

5 回答 5

6

有人可以解释 Java 中的 void 返回类型吗?

void类型用于声明方法不返回值。

难道你不能只制作返回类型 String 并将字符串设置为等于参数以使其在调用方法时显示出来吗?

假设“你”(或者在这种情况下,PrintStreamAPI 的设计者)可以做到这一点,但这样做没有意义。我正在努力想一个合理的用例,如果它作为结果返回,那么使用参数 String 是有意义的。println

请记住,良好 API 设计的主要目标包括1

  • 很好地支持常见的用例,并且
  • 便于程序员理解。

返回没有意义或很少(如果曾经)使用的值的方法(IMO)设计不佳。

如果 void 返回类型方法中有其他方法,您是否可以创建返回该方法结果的返回类型方法?

嗯,我想是的。但是您遇到了与上述相同的问题。如果结果很少使用或难以理解(因此难以正确使用),那么返回它可能是糟糕的设计。

什么时候只能使用 void 返回类型?

一种情况是您正在实现或覆盖interface超类或超类中的方法,并且该方法使用void返回类型声明。

但单独来看,没有任何情况下您只能使用void. (但在很多情况下,好的设计说明最好使用void!)


1 - 还有其他目标。请不要断章取义...

于 2013-09-09T00:29:29.707 回答
2

void 返回类型仅表示不返回任何内容。System.out.println 不返回任何内容,因为它只是打印出作为参数传递给它的字符串。

和..

难道你不能只制作返回类型 String 并将字符串设置为等于参数以使其在调用方法时显示出来吗?

我不知道你想说什么。

于 2013-09-09T00:10:38.947 回答
1

简单地说,void 什么都不返回,也不期望返回。

您可以在此处阅读有关退货的更多信息:

http://docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html

于 2013-09-09T00:10:27.460 回答
1

返回类型用于表示该void方法不返回任何内容。

方法是否应该返回void、参数之一(如果只有一个,this我们可能会这样做)或(如果我们想要支持方法调用的链接,我们可能会这样做),这可能是一个争论的主题。

所以这个决定是类设计的一部分。

于 2013-09-09T00:10:45.163 回答
1

当您的方法不返回任何内容时,将使用 Void。

打印声明用于打印,不用于退货。如果你想从你的方法中返回一个字符串。删除 void 并将 String 关键字放在那里。并在方法的最后一行键入 return 语句。return s;s 是您的字符串变量。

如果你写了一个没有返回语句的方法。您必须将该方法编写为void. void 表示您没有返回任何东西。返回任何东西都是关闭的。

于 2014-05-01T06:07:03.517 回答