繁体   English   中英

在void方法中返回void?

[英]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有意义。

所有非无效方法都必须执行以下三种操作之一:

  1. 无法退出。
  2. 异常异常结束。
  3. 通常以零或一返回值结束。

由于void唯一具有零可能值的类型(具有private未调用ctor的类由于null而不会计数),因此在非void方法中没有可能的return null ,因此return是有意义的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM