Feng.Li's Java See

          抓緊時間,大步向前。
          隨筆 - 95, 文章 - 4, 評論 - 58, 引用 - 0
          數據加載中……

          關于Java的傳值問題,個人感覺書上說的都不好,請進來聽聽我的看法。

           關于值傳遞和引用傳遞的問題,我想很多人剛開始學的時候都會很迷惑,特別是有些書的文學水平實在不敢恭維。
          在此,我特在此對Java的傳值和傳址提出我自己的一個看法,也許讓你能對這個問題的理解起到幫助。
                  首先:值傳遞是很好理解的。比如:
                  public   class   test   {
                int   a   =   3;
                public   void   plus(int   b){
                  b     =   b+1;
                  }
                  public   static   void   main(String   args[])
                {
                  test   t   =   new   test();
                  t.plus(t.a);
                  System.out.println(t.a);
                }
                }
              輸出的結果是3.這就是值傳遞。其實我們可以這樣理解:
                    在plus(int   b)函數里,int   b是作為這個函數的一個局部變量,在調用這個函數的時候開始位這個變量的內存空間。當我把變量a傳給這個函數的時候,實際上是把a變量當時的值拷貝一個放到變量b的分配空間里,b   =   b+1;這句改變的只是函數的局部變量b的值,當調用結束的時候,變量b的作用范圍也就結束了,而你在什么時候修改了變量a的分配空間呢?當然是沒有啦(除非你理解成變量a的空間整個放進b的空間里:))

                而所謂的引用傳遞,我覺得這個名次起的很混淆視聽。以我自己的理解,一切傳遞都是拷貝傳遞。因為對象的標識符代表的是對象的存儲地址,所以你把對象的標識符號傳遞給函數的時候,實際上是把對象地址的拷貝傳遞給了函數。雖然也是拷貝,但是2個地址拷貝都是指向一個地址的,所以如果在函數里修改了對象,那么也實際上就修改了原先的值.
          歸根到底一句話:Java一切參數的傳遞都是拷貝傳遞!

          posted on 2008-01-29 15:03 小鋒 閱讀(1321) 評論(4)  編輯  收藏 所屬分類: J2SE

          評論

          # re: 關于Java的傳值問題,個人感覺書上說的都不好,請進來聽聽我的看法。   回復  更多評論   

          曾經學JAVA的時候老師講過,JAVA中都是值傳遞。
          (所謂的引用傳遞,傳遞的也是引用變量在物理內存中的值。)
          2008-01-29 17:05 | 久城

          # re: 關于Java的傳值問題,個人感覺書上說的都不好,請進來聽聽我的看法。   回復  更多評論   

          http://www.aygfsteel.com/sitinspring/archive/2008/01/16/175677.html

          2008-01-29 17:11 | 如坐春風

          # re: 關于Java的傳值問題,個人感覺書上說的都不好,請進來聽聽我的看法。   回復  更多評論   

          政治
          2008-01-30 13:24 | 政治

          # re: 關于Java的傳值問題,個人感覺書上說的都不好,請進來聽聽我的看法。 [未登錄]  回復  更多評論   

          那如何在HashMap和JTable之間傳值。。。。。。。。
          2008-03-19 20:36 | 石頭
          主站蜘蛛池模板: 曲麻莱县| 翁牛特旗| 彭阳县| 合山市| 仪征市| 仲巴县| 宕昌县| 长宁区| 通许县| 光山县| 长葛市| 蓬莱市| 平和县| 乌拉特前旗| 三亚市| 渭源县| 济宁市| 常山县| 东辽县| 尉犁县| 泸溪县| 车致| 班玛县| 五常市| 亚东县| 浦江县| 宜宾市| 哈密市| 普兰店市| 甘泉县| 衢州市| 泰顺县| 孝感市| 岳池县| 施秉县| 孝昌县| 汶上县| 牙克石市| 吐鲁番市| 呼玛县| 余江县|