为什么Java仅按值传递?

时间:2014-06-08 00:39:15

标签: java pass-by-value

所以这是另一个有价值的downvote问题。

我理解Java IS是按值传递的,这意味着什么以及它是如何工作的。所以这不是另一个你可以解释什么是价值传递。我更为好奇的是,为什么Java不包括通过引用传递?我想这会有用吗?知道如何巩固我头脑中的推理也是有帮助的。

我讨厌'这是因为'场景肯定相当于'因为我这么说'。那么有没有人能够回答为什么Java只包含值传递?

1 个答案:

答案 0 :(得分:3)

大卫·弗拉纳根(David Flanagan)在O'Quilly的“果壳中的Java”中说得最好:“Java通过引用来操纵对象',但它通过值将对象引用传递给方法。'”这是Java的设计决策。当您传递对象时,您仍在操纵相同的底层对象,因为它们都引用相同的内存位置。所以我不确定您正在考虑的具体情况是您无法使用现有的Java机制。