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

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

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

    隨筆-4  評論-2  文章-0  trackbacks-0
      置頂隨筆
    最近在做項目時碰到關于java值傳遞和引用傳遞的問題,查不了少文章,做了幾個例子才搞明白,當然我總結出來的不一定是對的,歡迎大家來拍磚。主要有以下兩條:
    1.如果是基本類型,那么傳遞進去的就是值傳遞。
    2.如果不是基本類型,那么傳遞進去的就是對象引用的拷貝。

    以下是例子:
    public class Test {

        private String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public class Test1 {    
        private static Test staticTest;
        
        public static void main(String[] args) {
            Test t1 = new Test();
            call(t1);
            System.out.println(t1.getName());
        }
        
        public static void call(Test rt) {
            staticTest = new Test();
            staticTest.setName("abc");
            rt.setName("cba");
            rt = staticTest;
        }
    }
    此時的運行結果是什么?機器給出的結果是“cba”,為什么會這樣,我理解如下:
    rt.setName("cba");
    此時rt是t1的一個復制,但是又不代表t1,但是rt和t1都指向同一個對象,無論通過rt還是t1來都會改變所引用對象的值。
    rt = staticTest;
    這時會把staticTest的引用賦給rt,但是rt只是t1的一個引用, rt此時指向staticTest,但是不會更改t1的值。
    所以會發生以上的結果。不知道正確與否?



    posted @ 2008-09-05 14:48 星光 閱讀(247) | 評論 (2)編輯 收藏
    僅列出標題  
    主站蜘蛛池模板: 亚洲狠狠婷婷综合久久蜜芽| 亚洲国产精品lv| 美女黄频a美女大全免费皮| 好吊妞视频免费视频| 亚洲精品天堂在线观看| 成人黄页网站免费观看大全| 久久精品亚洲AV久久久无码| 免费国产黄线在线观看| 亚洲性无码一区二区三区| 午夜老司机免费视频| 苍井空亚洲精品AA片在线播放| 国产女高清在线看免费观看| 九九九精品视频免费| 亚洲精品中文字幕乱码三区| 久久国产精品萌白酱免费| 亚洲精品偷拍无码不卡av| 久久久久久久免费视频| 亚洲精品天堂成人片AV在线播放| 国产免费黄色大片| 一级一级一级毛片免费毛片| 亚洲AV永久无码精品| 亚洲精品免费在线| 亚洲成a∨人片在无码2023 | 国产成人免费高清在线观看| 看免费毛片天天看| 国产精品久久久亚洲| 国产91色综合久久免费| 亚洲另类无码一区二区三区| 国产亚洲精品线观看动态图| 亚洲电影免费在线观看| 亚洲综合欧美色五月俺也去 | 国产v亚洲v天堂无码网站| 18女人毛片水真多免费| 亚洲成在人线在线播放无码 | 亚洲日韩精品无码专区网址 | 全黄性性激高免费视频| 成在人线av无码免费高潮喷水| 亚洲AV无码一区二区三区在线| 亚洲国产aⅴ综合网| 精品国产sm捆绑最大网免费站| 无人视频在线观看免费播放影院 |