java中的值傳遞和引用傳遞的個人理解

2021-08-16 16:24:25 字數 599 閱讀 7898

在討論傳遞方式之前,先好好想想變數是什麼。變數,就是可以變的量,她佔據一定的記憶體空間,變數名就是這塊空間的名字 

下面看個值傳遞的例子:

public class test()

public static void main()

}

結果是:test1的a:10;main中的a:0;

分析:呼叫test1(a)時只是將main裡面的a這個名字的空間裡的值傳給test1方法體的a。所以test1()方法對a的操作不會影響到mian()方法的a。

下面看個引用傳遞的例子:

public class test()

public static void main()

}

與上面類似,只是將a的型別變為整型陣列。但是由於陣列是引用傳遞的,一次結果如下:

結果是:test1的a[0]:10;main中的a[0]:10;

總結:值傳遞是傳遞變數空間的值,而引用傳遞傳遞的是變數的位址。一般來說,基本型別都是值傳遞,陣列與物件變數的傳遞是引用傳遞。但是以string s="shenqian"定義的字串變數傳遞是值傳遞。欲知原因如何且看下節。

java中的值傳遞和引用傳遞

值得傳遞 實際引數得值傳遞給形式引數,但是形式引數改變不了實際引數的值。如下 1 public class alias public static void main stringargs 2 public class passvalue public static void main string...

Java的值傳遞和引用傳遞

值傳遞 值傳遞是基本資料型別的資料傳遞,是棧中的資料 基本資料型別的資料作為方法的引數進行傳遞,那麼在方法中會另外開闢乙個新的記憶體空間,跟原來的記憶體空間不是乙個記憶體空間,如果在方法中對引數的值進行更改,不糊影響原來的記憶體空間的值 如果非要獲取方法中修改後的值,則需要把修改後的值返回出來 引用...

java 值傳遞和引用傳遞

值傳遞 方法呼叫時,實際引數把它的值傳遞給對應的形式引數,方法執行中形式引數值的改變不影響實際參 數的值。引用傳遞 也稱為傳位址。方法呼叫時,實際引數的引用 位址,而不是引數的值 被傳遞給方法中相對應的形式引數,在方法執行中,對形式引數的操作實際上就是對實際引數的操作,方法執行中形式引數值的改變將會...