1.當傳引數為基本資料型別時,在方法體中對形參的修改不會影響到實參的數值
set類:
package hello;
public class set //建構函式
}
主函式:
public class hello
}
執行結果:
從a的真實值可以看出,引數傳遞的是數值傳遞,set函式呼叫結束後並沒有影響a的真實值。
2.當傳引數為引用時,傳遞的是物件的值,也就是物件的首位址。就是把物件的位址賦值給形參。
battery類
package example_1;
public class battery
}
radio類
package example_1;
public class radio
}
主函式:
基本資料型別和引用資料型別作為引數的區別
基本資料型別的變數中直接存放資料值本身,所以改的時候改的是資料值本身;
但是引用型別不同的地方在於真正的資料並沒有在棧區的變數中儲存,而是在堆區裡面儲存著,所以雖然也拷貝了乙份,也是副本,但是二者指向的是同一塊堆區。
引用資料型別就好比如說,兩位同學使用的是同乙份複習資料,其中一人把資料撕毀了,另一人當然也會受到影響。
而基本資料型別就好比影印了乙份,其中一人將自己的資料撕了,並不影響別人。
總結:1).當使用基本資料型別作為方法的形參時,在方法體中對形參的修改不會影響到實參的數值
2).當使用引用資料型別作為方法的形參時,若在方法體中修改形參指向的資料內容,則會
原文:
java引數傳值 傳引用
1 結論 2 傳值和傳引用區別 例項1 傳值 void method1 7 void method2 13 voidchange1 stringbuffer sb 17 voidchange2 stringbuffer sb 呼叫method1 螢幕列印結果為 helloworld 呼叫method...
Java 傳值和傳引用的區別
首先對傳值和傳引用要有個基本的概念 直接上 更好的理解兩者的區別。首先看傳基本資料型別,如int long等。基本資料型別 public class paramchangevalue private static void change int i 輸出 args 1 args 1 從輸出的的結果中...
傳值,傳址和傳引用
傳值方式 將實參的值拷貝給函式或方法,在函式內對形參進行操作,操作的物件是實參的拷貝,對實參本身沒有影響,在函式結束返回後,形參被丟棄釋放,實參的內容不會被改變。c 一條基本原則 在預設情況下,引數只能以值傳遞的方式給函式,被傳遞到函式的只是變數的值,永遠不會是變數本身。void exchange ...