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 | 石頭
          主站蜘蛛池模板: 马龙县| 贵州省| 屏东县| 武强县| 永安市| 茶陵县| 买车| 沁水县| 舒城县| 新泰市| 淮滨县| 汝南县| 武夷山市| 辉县市| 左权县| 福海县| 孝昌县| 花莲市| 黄梅县| 麟游县| 宝应县| 息烽县| 乌兰县| 静安区| 新津县| 满洲里市| 邢台市| 息烽县| 西和县| 巴林左旗| 陆河县| 襄樊市| 萨迦县| 青铜峡市| 大埔区| 清水县| 新闻| 神木县| 北流市| 寿宁县| 勃利县|