【发布时间】:2013-12-29 01:57:03
【问题描述】:
我很清楚 void 关键字用于在方法声明中指示该方法将不返回任何值。我的问题不是——打个比方——如何使用汽车,而是关于引擎盖下的东西。我想知道为什么实际上需要指定 void ,即Java是否保留某种内部变量来跟踪返回类型?是否将方法设置为 void 使其不必这样做?
另一种说法是问为什么,确切地说,Java 不能省略 void 关键字并假设如果没有返回类型,那么方法就是 void?我认为这与 Java 如何“准备”处理返回类型有关,并且可能与优化有关……请使用完整的细节。
【问题讨论】:
-
如果你省略 void,它将是一个构造函数,它只是一种保持语法和解析器简单的方法:所有方法都有一个返回类型,即使它们不返回任何东西.
-
如果你想看看幕后的东西,你可以看看源代码。至于为什么方法有返回类型,马克是正确的。
-
它只是语法。是的,清晰的语法可以帮助编译器轻松地做事并且没有歧义。