Java中的參數傳遞

Java中只有傳遞調用(值傳遞),沒有傳址調用(址傳遞或者引用傳遞)。所以在Java方法中改變參數的值是不會改變原變量的值的。

Java中只有值傳遞

1、對於基本類型參數,在方法體內對參數進行重新賦值,不會改變原有變量的值。

2、對於引用類型參數,在方法體內對參數進行重新賦予引用,不會改變原有變量所持有的引用。

3、方法體內對參數進行運算,不會改變原有變量的值。

4、對於引用類型參數,方法體內對參數所指向對象的屬性進行操作,將改變原有變量所指向對象的屬性值

我們可以想象下,getMiddleOne方法中執行的b=true 和boo = new Boolean(true)都是把新值賦給了他們的拷貝,所以不改變原變量的值;同樣,arr[0] = true是把true複製給了arr的拷貝所指向的數組的第一個元素,arr的值和arr的拷貝的值都是該數組的引用,所以arr的拷貝所指向的數組和arr所指向的數組是同一個,所以改變arr的拷貝的數組的元素會同樣影響到原變量arr。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章