java中的方法可以傳遞參數,參數的傳遞方法就是值傳遞。
參數有形參和實參,定義方法時寫的參數叫形參,真正調用方法時,傳遞的參數叫實參。
調用方法時,會把實參傳遞給形參,方法內部其實是在使用形參。
所謂值傳遞就是當參數是基本類型時,傳遞參數的值,比如傳遞i=10,真實傳參時,把10賦值給了形參。
當參數是對象時,傳遞的是對象的值,也就是對象的首地址。就是把對象的地址賦值給形參。
基本類型當做方法的形參時
當引用類型當做參數的形參時
基本數據類型和引用數據類型作為參數的區別
基本數據類型的變量中直接存放數據值本身,所以改的時候改的是數據值本身;
但是引用類型不同的地方在於真正的數據並沒有在棧區的變量中保存,而是在堆區里面保存着,所以雖然也拷貝了一份,也是副本,但是二者指向的是同一塊堆區。
引用數據類型就好比如說,兩位同學使用的是同一份復習資料,其中一人把資料撕毀了,另一人當然也會受到影響。
而基本數據類型就好比復印了一份,其中一人將自己的資料撕了,並不影響別人。
總結:
1).當使用基本數據類型作為方法的形參時,在方法體中對形參的修改不會影響到實參的數值
2).當使用引用數據類型作為方法的形參時,若在方法體中修改形參指向的數據內容,則會
* 對實參變量的數值產生影響,因為形參變量和實參變量共享同一塊堆區;*
3).當使用引用數據類型作為方法的形參時,若在方法體中修改形參變量的指向,此時不會
* 對實參變量的數值產生影響,因此形參變量和實參變量分別指向不同的堆區;*
————————————————
原文鏈接:https://blog.csdn.net/xyphf/article/details/78117027