一、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 方法運算完成後,就會從內存中消失。 當咱們再次遍歷數組時候,就會發現這個數組發生了改變。