-8

Java 和 C# 方法的返回类型是按引用还是按值?我真的很困惑,需要一些解释。

谢谢你们。

4

3 回答 3

2

在 Java中,一切都是按值返回的。这包括参考资料,这就是混乱的地方!

如果我有:

Trade t = new Trade();

thent是一个引用(我们会说它是一个Trade,但它指的是类型。t确实是一个引用)。当我从方法返回它时,我按值返回引用。引用仍然指向那个原始对象。

因此,如果我t从一个方法返回它,然后对其调用另一个方法,它会调用Trade它最初指向的方法。

于 2012-09-18T11:50:33.627 回答
2

C# 可以通过值或引用返回结果 - 这取决于您如何定义方法。

Java 只能按值返回(或者严格来说,按值返回引用。)

于 2012-09-18T11:51:14.267 回答
1

正如这个小小的记忆口号在 HeadFirst Book 中出现的那样。

Roses are Red,
This poem is Choppy,
Passing By Value is
Passing By Copy.

Java其始终传递或返回的值中。

其中C#可以通过引用或复制返回。

于 2012-09-18T12:18:20.673 回答