我們先從一段**中了解面對物件中引用傳遞和按值傳遞
class demo
class test
public
static
void
update(int a)
public
static
void
main(string args)
}
此時輸出的結果為:
20 10
按值傳遞:
給變數賦值時,如果變數的資料型別屬於8種基本資料型別,這時傳遞的是實際的常量 值;這種資料傳遞的方式叫做按值傳遞。
使用這種方式傳遞資料,修改乙個變數的值,對其他變數沒有影響;
引用傳遞:
給變數賦值時,如果變數的資料型別不屬於8種基本資料型別(也就是引用),這時 的是堆記憶體中的位址;這種資料傳遞方式叫引用傳遞(按址傳遞)。
使用這種方式傳遞資料,通過乙個變數修改資料,對其他擁有這個引用的變數,都有影響;
Java按值傳遞和按引用傳遞
如果傳遞引數是基本型別或其包裝類,則按值傳遞,改變引數的值,實際引數的值不變。public static void main string args public static void changei integer i 如果傳遞引數是類或陣列,則按引用傳遞,改變物件的引用,實參的引用不會改變,但...
物件導向 引用傳遞
引用傳遞 1 class demo public class refdemo01 public static void fun demo d2 此處的方法由主方法呼叫 引用傳遞 2 public class refdemo02 public static void fun string str2 定...
按值傳遞和按引用傳遞
對於基本型別而言,是按值傳遞的 基本型別儲存在棧中 基本型別引數的傳遞和基本型別的複製一樣,傳遞的是值本身 var a 1 function test x test a console.log a 1按值傳遞的意思就是形參是實參的複製,形參實參互不干擾 so,雖然在函式test中a被修改,但是並沒有...