1. 程式人生 > >Java-值傳遞

Java-值傳遞

spa pre class 基本類型 string 基本類 賦值 rgs 一對一

public class StringBufferTestQuote {
    // x = a;(a,x地址指向同一個StringBuffer對象) y = b;(b,y地址指向同一個StringBuffer對象)
    public static void appendStringBuffer(StringBuffer x, StringBuffer y) { 
        x.append(y); // 對a,x地址指向的StringBuffer對象進行追加內容操作             
        y = x;
        System.out.println(x + " " + y); //
AB AB } public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); // 棧內存中的a地址指向堆內存中的一個StringBuffer對象 StringBuffer b = new StringBuffer("B"); // 棧內存中的b地址指向堆內存中的一個StringBuffer對象 appendStringBuffer(a, b); // 引用傳遞:將a地址和b地址分別復制一份給被掉方法 System.out.println(a + " " + b); //
AB B } }
總結:(總結很重要
1.java中參數傳遞一律是值傳遞,基本類型->傳遞數值得一份拷貝給被調方法,引用類型->傳遞引用地址的一份拷貝給被掉方法。
2.引用地址賦值改變的是引用地址->該引用指向其它對象。
3.引用地址屬於局部變量,作用範圍在定義的代碼塊中。
4.引用與對象可能是多對一,一對一,零對一的關系

Java-值傳遞