0

抱歉,如果这是一个相当愚蠢的问题,但我最近一直在尝试学习 Java,发现很难接受返回类型的概念——我似乎无法为他们找到任何正义。然而,这里有一些关于它们如何偏离原始 int 返回类型从而扩大方法/函数可以返回的内容。但是,我仍然不太明白为什么:这有功能上的原因吗?即,如果某行代码定义了某些东西的返回,为什么解释器不能简单地返回一些东西。

4

4 回答 4

6

我猜你隐含的问题是“为什么 Java 没有类型推断”,因为 Java 显然是一种静态类型的语言,因此返回类型必须在编译时明确知道。

对于这个问题的答案,您可以调查 Scala 的类型推断:它真的非常复杂且混乱,最终结果仍然不稳定。Java 采用了简单的方法:没有类型推断。这也符合 Java 成为“蓝领语言”的既定设计目标:显式类型对低技能开发人员来说更加明显和容易。

作为记录,我注意到您提到了“Java 解释器”,这表明您将 Java 误认为是一种动态的解释语言。Java是一种编译语言。

于 2012-10-16T11:05:25.080 回答
5

一方面,Java 是静态类型的,因此在不知道返回类型的情况下,您无法将函数的响应分配给变量。

它还在一定程度上自我记录了该功能。

对于很多功能,null也可以返回。

于 2012-10-16T11:04:31.703 回答
3

是一种设计选择,可以在编译时而不是运行时捕获更多错误。

于 2012-10-16T11:05:04.747 回答
2

返回类型有助于加强类型安全

于 2012-10-16T11:06:49.477 回答