一 Java中方法的參數傳遞機制介紹
Java中方法的參數傳遞機制只有一種:值傳遞。spa
二 應用舉例
1 代碼示例htm
Java代碼 下載 對象
- class DataWrap
- {
- int a;
- int b;
- }
- public class ReferenceTransferTest
- {
- public static void swap(DataWrap dw)
- {
- // 下面三行代碼實現dw的a、b兩個成員變量的值交換。
- // 定義一個臨時變量來保存dw對象的a成員變量的值
- int tmp = dw.a;
- // 把dw對象的b成員變量值賦給a成員變量
- dw.a = dw.b;
- // 把臨時變量tmp的值賦給dw對象的b成員變量
- dw.b = tmp;
- System.out.println("swap方法裏,a成員變量的值是"
- + dw.a + ";b成員變量的值是" + dw.b);
- // 把dw直接賦爲null,讓它再也不指向任何有效地址。
- dw = null; //c
- }
- public static void main(String[] args)
- {
- DataWrap dw = new DataWrap();
- dw.a = 6;
- dw.b = 9; //a
- swap(dw); //b
- System.out.println("交換結束後,a成員變量的值是"
- + dw.a + ";b成員變量的值是" + dw.b);
- }
- }
2 運行結果
swap方法裏,a成員變量的值是9;b成員變量的值是6
交換結束後,a成員變量的值是9;b成員變量的值是6blog
3 結果分析 下載
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
圖一是運行完a處代碼的內存圖。
圖二是b處代碼傳參後的內存圖。
圖三是運行完c處代碼的內存圖。內存