在学习Java时,你可能会遇到一个测验,问当一个方法没有return 语句时会发生什么。
这个测验的内容如下。
如果一个方法没有return 语句,那么:
- a. 它在编译时将产生一个语法错误
- b. 它必须是一个
void方法 - c. 它不能从定义该方法的类之外被调用
- d. 它必须被定义为一个
public方法 - e. 它必须是一个
int、double、float、或String方法。
上述问题的答案是b。
这是因为一个返回类型为void 的Java方法不会返回任何东西。
例如,下面的hello() 方法会向控制台打印一条信息,但不返回任何东西:
void hello() {
System.out.println("Hello World!");
}
当你把返回类型改为有效的Java类型之一时,没有return 语句就会抛出一个错误:
int hello() {
System.out.println("Hello World!");
} // ERROR: Missing return statement
如果该方法是public 、protected 、private 、或默认访问级别,这并不重要。
当你省略return 语句时,一个返回类型为void 的方法可以正常工作。
小测验的正确答案是b。