基本類型和引用類型作為參數傳遞


引用類型數據和基本類型數據作為參數傳遞有沒有差別呢?我們用如下代碼進行說明,並配合圖解讓大家更加清晰

1.基本數據類型傳遞

基本類型作為參數傳遞時,其實就是將基本類型變量x空間中的值復制了一份傳遞給調用的方法show(),當在show()方法中x接受到了復制的值,再在show()方法中對x變量進行操作,這時只會影響到show中的x。當show方法執行完成,彈棧后,程序又回到main方法執行,main方法中的x值還是原來的值。

2.引用數據類型傳遞

當引用變量作為參數傳遞時,這時其實是將引用變量空間中的內存地址(引用)復制了一份傳遞給了show方法的d引用變量。這時會有兩個引用同時指向堆中的同一個對象。

當執行show方法中的d.x=6時,會根據d所持有的引用找到堆中的對象,並將其x屬性的值改為6.show方法彈棧。

由於是兩個引用指向同一個對象,不管是哪一個引用改變了引用的所指向的對象的中的值,其他引用再次使用都是改變后的值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM