java中的值傳遞和引用傳遞

值傳遞:

方法調用時,實際參數把對應的值傳遞給對應的形式參數,方法執行中形式參數的值的改變不會影響到實際參數的值。

比如一個方法:

public static void print(int i){
        System.out.println(i*2);
}

我調用print方法,傳參數:5    :   print(5);

這樣程序就不會改變這個值了。


引用傳遞:

也稱爲傳地址,方法調用時,實際參數的引用(地址,在內存中指向的地址,而不是參數的值)被傳遞給方法中對應的形式參數,在方法執行中,對形式參數的操作實際上

就是對實際參數的操作,方法執行中形式參數值的改變會影響實際參數的值。

比如:

public static void changeUser(User u){
       u.setName("china");
}

這樣,實際參數的值也會改變,因爲傳過來的是一個對象在內存裏面的地址,在方法裏面修改是直接修改內存裏面的值。
發佈了33 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章