基本和引用數據類型的改變

一、Java中的方法:完成特定功能的代碼塊。數組

二、方法的重載和重寫:
code

方法的參數若是是基本數據類型:
		形式參數的改變不影響實際參數的改變。
		形式參數:用於接收實際參數的變量(在方法的聲明上)。
		實際參數:實際參與運算的變量。

A、方法的形式是基本數據類型圖解:
內存

方法區存儲的是 Class 字節碼文件,而 main 方法和 change 方法都在 ArgsDemo 裏面,因此如圖方法區有一個區域,
存儲了 ArgsDemo.class,裏面有 2 個方法:main、change 方法。

程序執行開始, main 方法首先會開始執行進棧(棧裏的方法是先進後出),進棧後會爲main方法開闢一塊內存空間,進行
a、b的賦值,打印出 a=10,b=20。

程序繼續往下走,調用 change(a,b) 方法,change方法會從方法區加載到棧中,進行內存區域分配,首先明確一點 a、
b的原始值分別是十、20。而後在change方法中進行賦值操做,進而在change方法中打印出a、b的值分別是20、40。當
change 方法走完成後,就會從內存中消失。就只剩下一個 main 方法,因此再次打印 a、b仍是十、20。

B、方法的形式是引用數據類型圖解:
class

和上面相似,程序執行開始, main 方法首先會開始執行進棧,建立 arr 數組,棧中數組 arr 經過地址值 001 指向堆中
new 出來的數組,進行賦值 一、二、三、四、5。

程序繼續往下走,調用 change(arr) 方法, change 方法會從方法區加載到棧中,進行內存區域分配。而在調用chage方法
時,會把 arr 的地址值傳遞過去(這就是咱們常常提到的2個引用指向同一個堆內存,任何一個應用對其的操做都會直接影響
另一個引用),當 change 方法運算完成後,就會從內存中消失。

當咱們再次遍歷數組時候,就會發現這個數組發生了改變。
相關文章
相關標籤/搜索