Java傳參-基本資料型別和引用資料型別作為引數的區別(值傳遞)
阿新 • • 發佈:2019-01-02
java中的方法可以傳遞引數,引數的傳遞方法就是值傳遞。
引數有形參和實參,定義方法時寫的引數叫形參,真正呼叫方法時,傳遞的引數叫實參。
呼叫方法時,會把實參傳遞給形參,方法內部其實是在使用形參。
所謂值傳遞就是當引數是基本型別時,傳遞引數的值,比如傳遞i=10,真實傳參時,把10賦值給了形參。
當引數是物件時,傳遞的是物件的值,也就是物件的首地址。就是把物件的地址賦值給形參。
基本型別當做方法的形參時
當引用型別當做引數的形參時
基本資料型別和引用資料型別作為引數的區別
基本資料型別的變數中直接存放資料值本身,所以改的時候改的是資料值本身;
但是引用型別不同的地方在於真正的資料並沒有在棧區
引用資料型別就好比如說,兩位同學使用的是同一份複習資料,其中一人把資料撕毀了,另一人當然也會受到影響。
而基本資料型別就好比影印了一份,其中一人將自己的資料撕了,並不影響別人。
總結:
1).當使用基本資料型別作為方法的形參時,在方法體中對形參的修改不會影響到實參的數值
2).當使用引用資料型別作為方法的形參時,若在方法體中修改形參指向的資料內容,則會
* 對實參變數的數值產生影響,因為形參變數和實參變數共享同一塊堆區;*
3).當使用引用資料型別作為方法的形參時,若在方法體中修改形參變數的指向,此時不會
* 對實參變數的數值產生影響,因此形參變數和實參變數分別指向不同的堆區;*