2012-09-18 198 views
-7

Java和C#返回的方法是類型通過引用或值?這對我來說真的很混亂,需要一些解釋。返回類型Java和C#

謝謝大家。

+3

這個問題有沒有近足夠的信息。 –

+0

看到這個答案的詳細信息:http://stackoverflow.com/a/9404727/597657 –

回答

2

在Java 一切由返回值。這包括引用,這裏是混淆的地方!

如果我有:

Trade t = new Trade(); 

然後t參考(我們會說這是-A貿易,而是指型t真的是一個參考。)。當我從一個方法返回時,我按照價值返回參考。參考文獻仍然指向那個原始物體。

因此,如果我從某個方法返回t,然後調用其他方法,它將調用它最初指向的Trade上的方法。

2

C#可以返回由任一值或引用的結果 - 這取決於你如何定義的方法。

Java可以通過值永遠只返回(或嚴格地講,通過返回值的參考。)

1

由於這個小內存口號說的冒失書..

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

Java它總是價值已通過或返回。

凡在C#它可以通過引用或通過複製返回。

+1

有人的詩意牌照應予撤銷... –