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 小鋒 閱讀(1320) 評論(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 | 石頭
          主站蜘蛛池模板: 军事| 西乡县| 荔浦县| 万安县| 白沙| 蛟河市| 六安市| 涟水县| 涡阳县| 五指山市| 德江县| 商河县| 通化市| 兴海县| 保亭| 西平县| 文安县| 三门峡市| 应用必备| 鄱阳县| 彭阳县| 慈溪市| 岚皋县| 台中县| 虹口区| 平和县| 重庆市| 麻江县| 五家渠市| 余江县| 顺昌县| 三门县| 韶关市| 垫江县| 修武县| 偏关县| 广宗县| 乐山市| 泰州市| 南开区| 浦县|