例子:
public static void main(String[] args) {
StringBuffer stra = new StringBuffer("A");StringBuffer strb = new StringBuffer("B");
changed(stra, strb);
System.out.println(stra + " " + strb);
}
public static void changed(StringBuffer a, StringBuffer b) {
b.append(a);
}
1.值傳遞的本質是纔在傳遞引用類型的參數時,傳的並非值的本身,而是該值的所在地址。
2.值傳遞過程中,對形參的值做修改,實參的值也會發生同樣的改變。
3.這點我認爲比較容易混淆,在值傳遞過程中,形參和實參是兩個對象,只是兩個對象同時引用一個地址,當對其中一個對象做修改的時候,
另一個對象也會發生同樣的修改(前面這段我相信大家都比較明白),容易混淆的是,當改變其中一個對象的引用地址時,那麼這兩個對象就已經沒有關聯了,
不要認爲另一個對象跟着改變引用地址。