我知道我可以这样做:
void someMethod(){
return;
}
但我在
上遇到语法错误void someMethod(){
return void;
}
为什么不允许后者?这对我来说更有意义。
编辑:我知道什么是void方法,而且根本不需要返回它(在大多数情况下可能不应该返回)但是我不明白为什么我不能返回void从虚空方法。在我看来,如果你能够写返回,那么方法声明中应该没有关键字(比如构造函数)。
答案 0 :(得分:5)
我认为两者都应该被避开。我更喜欢这个:
void someMethod() {
// do stuff; no return at bottom
}
我愿意在JDK源代码中找到许多类似的方法。
答案 1 :(得分:2)
当您将方法声明为void
时,您说该方法不会返回值。因此,试图返回值是非法的。此外,return void;
有语法错误,因为void
不是(实际上不可能)范围内变量的名称。
答案 2 :(得分:2)
void
是一个类型,而不是表达式,因此尝试编写return void
与尝试编写return int
相同:语法无效。
答案 3 :(得分:1)
当您致电return void;
时,您使用的是不正确的保留关键字。由于它不会以这种方式期望关键字void
,因此会导致错误。
Void类是一个不可包含的占位符类来保存 引用表示Java关键字void的Class对象。
如果您希望返回某些内容,则可以return null;
参与类似answer中的类型Void
,但这是非常规的。最好的办法是完全省略return
或只说return;
。
答案 4 :(得分:0)
return x;
表示控件正在离开方法,其结果是x
的值。
return;
表示控件正在离开方法而没有结果。
类型void
是一个零值的类型,因此对于void
方法,没有x
使return x
有意义。
所有非空方法必须执行以下三种操作之一:
由于void
是唯一的类型,其中可能的值为零(private
未调用的ctors的类不会因null
而计数),因此没有非return
方法中可能void
,return
有意义。