Java中的基本類型和引用類型變量的區別


Java中的基本類型和引用類型變量的區別

 
學了一年多,說實話你要我說這些東西我是真說不出來是啥意思
 
 

基本類型:

基本類型自然不用說了,它的值就是一個數字,一個字符或一個布爾值。

引用類型:

是一個對象類型,值是什么呢?它的值是指向內存空間的引用,就是地址,所指向的內存中保存着變量所表示的一個值或一組值。 

舉例說明:   

 int  a;  
 a=250; //聲明變量a的同時,系統給a分配了空間。

引用類型就不是了,只給變量分配了引用空間,數據空間沒有分配,因為誰都不知道數據是什么,整數,字符?我們看一個錯誤的例子:

MyDate today;

today.day = 4; //發生錯誤,因為today對象的數據空間未分配。

那我們怎么給它賦值?引用類型變量在聲明后必須通過實例化開辟數據空間,才能對變量所指向的對象進行訪問。舉個例子:

MyDate today;            //將變量分配一個保存引用的空間

today = new MyDate();     //這句話是2步,首先執行new MyDate(),給today變量開辟數據空間,然后再執行賦值操作

//引用變量賦值

MyDate a,b;                    //在內存開辟兩個引用空間

a  =  new MyDate();     //開辟MyDate對象的數據空間,並把該空間的首地址賦給a

b  =  a;                               //將a存儲空間中的地址寫到b的存儲空間中

如下圖示

引用傳遞 和 值傳遞

引用類型:除了在函數傳值的時候是"引用傳遞",在任何用"="向對象變量賦值的時候都是"引用傳遞"。

值傳遞:基本類型的傳遞都屬於值傳遞,和C語言一樣,當把Java的基本數據類型(如 int,char,double等)作為入口參數傳給函數體的時候,傳入的參數在函數體內部變成了局部變量,這個局部變量是輸入參數的一個拷貝,所有的函 數體內部的操作都是針對這個拷貝的操作,函數執行結束后,這個局部變量也就完成了它的使命,它影響不到作為輸入參數的變量。這種方式的參數傳遞被稱為"值 傳遞"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM