13 什麼是值傳遞和引用傳遞???

2021-10-07 03:22:32 字數 837 閱讀 8814

基本資料型別是值傳遞

值傳遞是指在呼叫方法時將實際引數複製乙份

傳到方法中

如果在方法中對引數進行修改

不會影響原來引數

引用資料型別是引用傳遞

引用傳遞是指在呼叫方法時將實際引數的位址

傳到方法中

如果在方法中對引數進行修改

原來引數也會改變

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乙份傳遞給形式引數,此時,形參和實參的引用都指向同一儲...