我知道我能做到这一点:void方法返回void?
void someMethod(){
return;
}
,但我得到
void someMethod(){
return void;
}
语法错误为什么后者不允许?这对我来说更有意义。
编辑:我知道什么是无效方法,并且我根本不必从它返回(在大多数情况下可能不应该),但我不明白为什么我不能返回void方法无效。在我看来,在方法声明中应该没有关键字(比如构造函数),如果你能写return的话。
我知道我能做到这一点:void方法返回void?
void someMethod(){
return;
}
,但我得到
void someMethod(){
return void;
}
语法错误为什么后者不允许?这对我来说更有意义。
编辑:我知道什么是无效方法,并且我根本不必从它返回(在大多数情况下可能不应该),但我不明白为什么我不能返回void方法无效。在我看来,在方法声明中应该没有关键字(比如构造函数),如果你能写return的话。
当您将方法声明为void
时,您说这个方法没有返回值。因此试图返回一个值是非法的。此外,return void;
有语法错误,因为void
不是(实际上不能是)范围内变量的名称。
void
是一种类型,而不是表达式,所以试图编写return void
与尝试编写return int
相同:语法无效。
那么没有什么是无效的价值? – user2097804 2013-05-06 21:01:47
return x;
指示控制正在离开该方法并且其结果是值为x
。
return;
指示控件正在离开方法而没有结果。
void
类型是一个零值类型,因此对于void
方法没有x
,因此return x
是有意义的。
所有非void的方法必须做的三两件事之一:
由于void
是仅类型具有零个可能的值(与private
多余构建函数类不因为null
计数),存在在非void
方法使得return
有意义没有可能return
。
http://stackoverflow.com/questions/7795303/why-cant-i-return-a-void-method-call – eidsonator 2013-05-06 20:13:17
它增加了额外的冗长度。所以开发者可能会说“让我们把它缩短一点,因为我们可能要写它十亿次。”......... – granadaCoder 2013-05-06 20:13:19
为什么要返回任何东西?我不添加任何一行。它比两者都短。 – duffymo 2013-05-06 20:13:51