三張圖講清楚Java中的方法的參數傳遞機制

一 Java中方法的參數傳遞機制介紹
Java中方法的參數傳遞機制只有一種:值傳遞。spa

 

二 應用舉例
1 代碼示例htm

Java代碼 下載  對象

  1. class DataWrap  
  2. {  
  3.     int a;  
  4.     int b;  
  5. }  
  6. public class ReferenceTransferTest  
  7. {  
  8.     public static void swap(DataWrap dw)  
  9.     {  
  10.         // 下面三行代碼實現dw的a、b兩個成員變量的值交換。  
  11.         // 定義一個臨時變量來保存dw對象的a成員變量的值  
  12.         int tmp = dw.a;  
  13.         // 把dw對象的b成員變量值賦給a成員變量  
  14.         dw.a = dw.b;  
  15.         // 把臨時變量tmp的值賦給dw對象的b成員變量  
  16.         dw.b = tmp;  
  17.         System.out.println("swap方法裏,a成員變量的值是"  
  18.             + dw.a + ";b成員變量的值是" + dw.b);  
  19.         // 把dw直接賦爲null,讓它再也不指向任何有效地址。  
  20.         dw = null;  //c  
  21.     }  
  22.     public static void main(String[] args)  
  23.     {  
  24.         DataWrap dw = new DataWrap();  
  25.         dw.a = 6;  
  26.         dw.b = 9;          //a  
  27.         swap(dw);          //b  
  28.         System.out.println("交換結束後,a成員變量的值是"  
  29.             + dw.a + ";b成員變量的值是" + dw.b);  
  30.     }  
  31. }  

2 運行結果
swap方法裏,a成員變量的值是9;b成員變量的值是6
交換結束後,a成員變量的值是9;b成員變量的值是6blog

3 結果分析 下載  




 

圖一是運行完a處代碼的內存圖。
圖二是b處代碼傳參後的內存圖。
圖三是運行完c處代碼的內存圖。內存

相關文章
相關標籤/搜索