道歉,如果这是一个非常荒谬的问题,但我最近一直在努力学习Java,并且发现难以接受返回类型的概念 - 我似乎无法找到任何正义。然而,这里有一些关于它们如何偏离原始int返回类型的内容,从而扩展了方法/函数可以返回的内容。但是,我仍然不太明白为什么:这有什么功能性的原因吗?即如果某些代码行定义了某些东西的返回,为什么解释器只是简单地返回一些内容。
答案 0 :(得分:6)
我猜你的隐含问题是“为什么Java没有类型推断”,因为Java显然是一种静态类型的语言,因此返回类型必须在编译时明确知道。
对于答案,您可以调查Scala的类型推断:它真的,非常复杂和混乱,最终结果仍然是片状的。 Java采用了简单的方法:无类型推断。这也符合Java所述的设计目标,即“蓝领语言”:低技能开发人员的显式打字更明显,更容易。
为了记录,我注意到你提到了“Java解释器”,它表明你将Java误认为是一种动态的解释语言。 Java是一种编译语言。
答案 1 :(得分:5)
首先,Java是静态类型的,因此在不知道返回类型的情况下,您无法将函数的响应分配给变量。
它还在一定程度上自我记录功能。
对于很多功能,也可以返回null
。
答案 2 :(得分:3)
是一种设计选择,可以在编译时捕获更多错误,而不是运行时。
答案 3 :(得分:2)
返回类型有助于强制执行type safety。