[英]return void in a void method?
我知道我可以这样做:
void someMethod(){
return;
}
但我收到语法错误
void someMethod(){
return void;
}
为什么不允许后者? 这对我来说更有意义。
编辑:我知道什么是void方法,并且我根本不必从中返回(在大多数情况下可能不应该),但是我不明白为什么我不能从void中返回void方法。 我认为,如果您能够编写return ;,则方法声明中不应包含任何关键字(如构造函数)。
我认为两者都应避免。 我更喜欢这样:
void someMethod() {
// do stuff; no return at bottom
}
我很愿意在JDK源代码中找到很多像这样的方法。
当您将方法声明为void
,就是说该方法不返回值。 因此,尝试返回值是非法的。 另外, return void;
发生语法错误,因为void
不是(实际上,不能是)范围内变量的名称。
void
是一种类型,而不是表达式,因此尝试编写return void
与尝试编写return int
:语法上无效。
当您致电时return void;
,则您以错误的方式使用了保留关键字。 由于它不会以这种方式期望关键字void
,因此会导致错误。
Void类是一个无法实例化的占位符类,用于保存对表示Java关键字void的Class对象的引用。
如果您希望返回某些内容,则可以return null;
通过像此答案一样参数化Void
类型,但这是非常规的。 最好的选择是完全省略return
或只说return;
。
return x;
指示控件正在离开该方法,其结果是x
的值。
return;
表示控件正在离开该方法而没有结果。
void
类型是具有零值的类型,因此对于void
方法,没有x
使得return x
有意义。
所有非无效方法都必须执行以下三种操作之一:
由于void
是唯一具有零可能值的类型(具有private
未调用ctor的类由于null
而不会计数),因此在非void
方法中没有可能的return
null
,因此return
是有意义的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.