java基本資料型別和引用資料型別的呼叫傳遞的區別

2021-08-15 10:59:32 字數 490 閱讀 9439

(1)基本資料型別:就是進行了值的傳遞把乙份資料拷貝了之後傳遞過去

(2)引用資料型別:實際上也是進行了資料拷貝然後傳過去,實際上也是值傳遞,只

不過傳遞過去的值和原有的值指向了同乙個物件 

所以在呼叫的方法中可以對原來的資料進行影響,這是因為二者指向的是同乙個物件。 但這不是按引用呼叫!如下**可證明這一點:

物件之間的賦值是需要指標相互賦值的,而由於這裡user x和y僅僅是乙個值的拷貝,他們僅僅是表面上的東西是乙個例項,對他們進行交換不會影響在底層的真正的物件的交換。所以這個函式呼叫不會引起兩個物件的交換

但是如果在被呼叫的函式中

,拷貝的物件執行了對於真正物件的資料修改是可以改變後續的物件的值的,因為後續的物件仍然會引用這個被修改過的物件

。比如以下**證明了這一點:

這個過程實際上是這樣的:

基本資料型別和引用資料型別

資料型別 基本資料類 1.數值型 整數 byte short int long 浮點 float double 2.字元型 char 3.布林型 boolean 引用資料型別 1.類 class 2.介面 inte ce 3.陣列 array 基本資料型別 它的值是乙個數字 字元或布林值,變數指向具...

資料型別 基本資料型別和引用資料型別

一.分類 1,五種簡單資料型別 基本資料型別 number,string,boolean,null,undefined,新增symbol es6 基本資料型別是指存放在棧中的簡單資料段,資料大小確定,記憶體空間大小可以分配,它們是直接按值存放的,所以可以直接按值訪問。1 undefined 宣告的變...

基本資料型別和引用型別

1基本資料與引用資料的基本區別 眾說周知,基本資料型別 為int long,byte,boolean,float,double等第乙個字母為小寫,如果用這些資料型別定義變數,通常情況下,即使沒有賦值,它也會有預設值,例如int 型別為 0 boolean 為 false等,而string 型別 以及...