基本資料型別是值傳遞
值傳遞是指在呼叫方法時將實際引數複製乙份
傳到方法中
如果在方法中對引數進行修改
不會影響原來引數
引用資料型別是引用傳遞
引用傳遞是指在呼叫方法時將實際引數的位址
傳到方法中
如果在方法中對引數進行修改
原來引數也會改變
public
class
test
;// 將c的記憶體位址傳遞給d,本質上指向同一塊記憶體空間
int[
] d = c;
d[0]
=666
; system.out.
println
(arrays.
tostring
(c))
; system.out.
println
(arrays.
tostring
(d));/*
* 方法傳參,與變數賦值是相同的
*/change
(a,c)
; system.out.
println
(a);
system.out.
println
(arrays.
tostring
(c));}
public
static
void
change
(int i,
int[
] array)
}
什麼是值傳遞和引用傳遞
關於值型別與引用型別,值傳遞與引用傳遞的歸納,總結一下,分享給大家 1 值型別預設存放在棧中,但當值型別是在引用型別中宣告的時候,則存放在其所在的引用型別的堆中。2 引用型別存放在堆中,其在堆中的記憶體位址放在棧中。1 值型別引數可以值傳遞,也可以通過ref out關鍵字修飾,進行引用傳遞。2 引用...
值傳遞和引用傳遞
幾乎每種語言都有值傳遞和引用傳遞.下面是我的一些曲解,只講現象,不涉及到任何的原理,主要是鬧著玩的.a 新交了個女朋友b.有一天他女朋友b看見a在吃冰激凌,b想吃,但是a是個 座有點小潔癖,不想讓b吃,於是給b買了個新的冰激凌說你吃這個吧,別碰我嘴裡這個.這就是值傳遞.a和b的值沒有任何關係,他們一...
值傳遞和引用傳遞
1.什麼是值傳遞和引用傳遞 值傳遞 方法呼叫時,實際引數的值copy乙份傳遞給形式引數,此時,有兩個相等的數值分別儲存於不同的記憶體位址上,因此,後面的方法中都是對形參位址上的數值進行修改。引用傳遞 方法呼叫時,實際引數的值 也就是位址 copy乙份傳遞給形式引數,此時,形參和實參的引用都指向同一儲...