<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 40, 文章 - 0, 評論 - 20, 引用 - 0
    數(shù)據(jù)加載中……

    Java對象操作(自己體會,不一定說的正確,但是都是在程序中測試)

      Java中c中的指針的概念,但是我在使用中還是碰到過一些問題,如我把一個一個對象A賦值給對象B時,這兩個對象有一個改變,那么另外一個也相應的改變。下面分別談談這可能發(fā)生問題的幾種情況:

    <一>從“一個對象到另一個對象的賦值”,如:

            Class  A = new Class();

           Class  B  = A;

           這種情況實際把句柄從一個地方復制到另外一個地方,這種情況下對象B和A實際指向的是同一個句柄,更新B會影響到A,同樣更新A也會影響到B。

    <二>把對象作為方法的參數(shù)傳遞到一個方法中。Java方法的參數(shù)傳遞可以分成兩種:一種是值傳遞,這種一般是簡單的數(shù)據(jù)類型,如int,long,double,char這些等;一種類似是c中的引用傳遞,就是把對象作為一個引用傳遞給方法參數(shù),在這種情況下,在方法中把這個傳入的參數(shù)對象改變,那么相應的傳入這個參數(shù)引用的對象也相應的改變。如:

         Number A = new Number();
         A.num   = 9;
         test(A);

         方法定義:

        public  void   test(Number n){
          n.num = 99;
        }

       那么A的num值會變成99.

    <三>;把對象保存在ArrayList中.如果把一個對象保存在一個AyyayList中,如果這個對象再發(fā)生改變,那么在這個ArrayList中保存的對象也會改變,說白了還是兩個還是公用同一個句柄.如:

       Number A = new Number();
         A.num = 100;
         java.util.ArrayList list = new ArrayList();
         list.add(A);
         A.num = 999;
         Number B = (Number)list.get(0);
         System.out.println(B.num);

    那么輸出為999,對象A的更改影響到了ArrayList中的保存的對象.

     

    posted on 2005-06-08 00:19 月亮 閱讀(271) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲成a人片在线观看无码专区| 黄 色一级 成 人网站免费| 久久永久免费人妻精品| 亚洲成AV人片一区二区| 国色精品va在线观看免费视频| 中文字幕亚洲综合久久菠萝蜜 | 一级毛片正片免费视频手机看| 国产一级理论免费版| 黄床大片30分钟免费看| 亚洲国产精品人人做人人爽| 精品久久久久久国产免费了| 情人伊人久久综合亚洲| 蜜桃视频在线观看免费视频网站WWW| 亚洲天堂久久精品| 免费观看的毛片大全| 337p日本欧洲亚洲大胆人人| 亚洲国产精品综合久久网络 | 特黄特色的大片观看免费视频| 久久影院亚洲一区| 桃子视频在线观看高清免费视频| 亚洲制服丝袜精品久久| 黄a大片av永久免费| 一个人看的在线免费视频| 亚洲免费视频在线观看| 114一级毛片免费| 羞羞视频网站免费入口| 亚洲国产精品久久久久久| 搡女人免费视频大全| 国产精品深夜福利免费观看| 成人免费大片免费观看网站| 99久久亚洲综合精品成人网| 你是我的城池营垒免费看| 亚洲日本视频在线观看| 国产福利免费观看| 日本三级在线观看免费| 亚洲日韩AV无码一区二区三区人| 亚洲日本一区二区三区在线不卡| 最近中文字幕免费完整 | 国产亚洲精品AAAA片APP| 国产亚洲人成A在线V网站| 一区二区无码免费视频网站|