Java 物件導向中引用傳遞和按值傳遞

2021-08-13 12:01:49 字數 540 閱讀 9558

我們先從一段**中了解面對物件中引用傳遞和按值傳遞

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被修改,但是並沒有...