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

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

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

    聶永的博客

    記錄工作/學習的點點滴滴。

    JAVA方法值傳遞OR引用傳遞,不過是浮云~

    對于JAVA方法是值傳遞,還是引用傳遞,有人一直以來爭論不休。不如忘記這些提法,反而會容易理解一些。

    參數的傳遞分為兩類:

    1。基本數據,變量是直接賦值。

    	public static void main(String[] args) {
    int value = 0;
    change(value);
    System.out.println(value);
    }

    private static void change(int num) {
    num = 99;
    }


    輸出結果為:0


    可以這么認為,在棧區 value 的值賦給了一個生命周期很短的變量 num,下面的事情就是變量num的自家事情了。


    2。對象參數,傳遞的是永遠是對象的引用。


    public class ObjectTest {

    public static void main(String[] args) {
    Person p = new Person("Hi");

    change(p);
    System.out.println(p);
    }

    private static void change(Person per) {
    per.setName("China");

    per = new Person("english");
    }
    }

    class Person {
    public Person(String name) {
    this.name = name;
    }

    private String name;

    public String getName() {
    return name;
    }

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

    @Override
    public String toString() {
    return "name : " + getName();
    }
    }
    這個例子最后輸出結果為:name :china

    在棧區(stack),存在兩個Person對象引用:|
    p把對象的引用地址賦值給了per,p也就完成了使命;


    per.setName("China"); 這一句話意味著per操縱目標對象的setName方法。此時p和per都指向了同一個存放在堆區(heap)Person對象;


    per所引用的對象地址被重新賦值:per = new Person("english"); 自此per就和p就一點關系都沒有了:p所指向的對象和per所指向的對象是兩個不同的對象了。


    常見的基本數據數組也是一種對象。


    小結:無論是基本數據還是對象,都是賦值操作,基本數據賦值直接在棧區進行,對象只是把對象的引用地址賦值,但對應同一個對象。


    有時間會把圖形附上,這樣理解起來會更形象一些。

    posted on 2010-11-25 21:36 nieyong 閱讀(611) 評論(0)  編輯  收藏 所屬分類: Java

    公告

    所有文章皆為原創,若轉載請標明出處,謝謝~

    新浪微博,歡迎關注:

    導航

    <2010年11月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    統計

    常用鏈接

    留言簿(58)

    隨筆分類(130)

    隨筆檔案(151)

    個人收藏

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人精品123区免费视频| 一二三四免费观看在线视频中文版| 全部免费毛片在线| 校园亚洲春色另类小说合集| 最好免费观看韩国+日本| 亚洲欧美国产日韩av野草社区| 全免费A级毛片免费看网站| 337p日本欧洲亚洲大胆人人| 免费A级毛片无码A| 精品人妻系列无码人妻免费视频| a级毛片免费观看在线| 男人的好免费观看在线视频| 亚洲熟伦熟女专区hd高清| 国产男女猛烈无遮档免费视频网站| 春暖花开亚洲性无区一区二区| 亚洲男人天堂2020| 国产成人一区二区三区视频免费| 久久亚洲精品AB无码播放| 国国内清清草原免费视频99| 亚洲av永久无码精品网站| 免费国产a理论片| 亚洲国产成人片在线观看无码 | 日本激情猛烈在线看免费观看| 亚洲高清国产拍精品青青草原| jiz zz在亚洲| 又黄又爽的视频免费看| 中文字幕成人免费高清在线 | 亚洲中文无码av永久| 国产精品麻豆免费版| 大地资源网高清在线观看免费| 毛片a级毛片免费播放100| 亚洲伦理一二三四| jizzjizz亚洲| 看亚洲a级一级毛片| 国产自偷亚洲精品页65页| 瑟瑟网站免费网站入口 | 四虎成人精品在永久免费| 男女一边桶一边摸一边脱视频免费 | 久久伊人亚洲AV无码网站| 2021在线永久免费视频| 99亚洲乱人伦aⅴ精品|