java中的資料類型分為基本資料類型和引用資料類型
基本資料類型
整型:byte,short,int,long
浮點型:float,double
字元型:char
布爾型:boolean
引用資料類型
類
接口
數組
方法的參數分為實際參數,形式參數
形式參數:定義方法時寫的參數
實際參數:調用方法時寫的具體數值
一般情況下,在資料作為參數傳遞的時候,基本資料類型時值傳遞,引用資料類型是引用傳遞(位址傳遞)
* 值傳遞不會影響其本身,隻是将本身的值複制一份
* 位址傳遞會影響本身
String類型傳遞
String是一個類,類是引用資料類型,作為參數傳遞的時候,應該是引用傳遞。但結果看起來是值傳遞。
是因為String類是被final修飾的,String的值在建立之後不能被更改。【String對象str的任何修改等同于建立一個對象,并将新的位址值指派給str】
String str = "abc";
等效于
char data[] = {'a', 'b', 'c'};
String str = new String(data);
String對象作為參數傳遞時,走的依然是引用傳遞。
String對象一旦建立,内容不可更改。每一次内容的更改都是重新建立出來的新對象
總結
* 值傳遞的時候,将實參的值,copy一份給形參
* 引用傳遞的時候,将實參的位址值,copy一份給形參