基本變量與引用類型變量有哪些區別?
一、基本變量與引用類型變量的區別
1、存儲位置不同
基本變量類型在方法中定義的非全局基本數據類型變量的具體內容是存儲在棧中。
只要是引用數據類型變量,其具體內容都是存放在堆中的,而棧中存放的是其具體內容所在內存的地址。
2、傳遞方式不同
基本變量類型在方法中定義的非全局基本數據類型變量,調用方法時作為參數是按數值傳遞的。
引用數據類型變量,調用方法時作為參數是按引用傳遞的。
3、影響不同
基本數據類型由于在內存中的一個地址存放的是這些變量的值,所以調用函數,函數里的形參,就是復制這些變量的值,以后對形參值的變化,不會影響到原來變量的值;
引用數據類型由于在內存中是引用他的一個內存地址而不是具體的值,所以調用函數,函數里的形參, 就是復制這些變量的值的地址,當對形參的值進行修改的時候,就等于是對這些變量的值,進行修改,所以會影響到原來變量的值。
延伸閱讀:
二、什么是引用類型變量
引用類型變量是使用三種引用類型中的任意一種類型,聲明出的變量。三種引用類型:類類型、接口類型、數組類型。
引用類型變量,簡稱為引用,它可以用來接收對象,也叫做引用指向對象。
引用型變量的值與基本類型變量不同,變量值是指向內存空間的引用(地址)。所指向的內存中保存著變量所表示的一個值或一組值。
引用在其他語言中稱為指針或內存地址。Java語言與其他程序設計語言不同,不支持顯示使用內存地址,而必須通過變量名對某個內存地址進行訪問。
引用類型變量在聲明后必須通過實例化開辟數據空間,才能對變量所指向的對象進行訪問。通過對引用型變量聲明與實例化語句的執行過程分析,可以理解系統對引用型變量的上述處理。
以上就是關于基本變量與引用類型變量的區別的內容了,希望對大家有幫助。

猜你喜歡LIKE
相關推薦HOT
更多>>
Concurrent Programming, Parallel Programming 的本質區別是什么?
一、Concurrent Programming, Parallel Programming 的本質區別略有交叉,各有不同。Parallel Programming強調如何在多于1個CPU等情況下對系詳情>>
2023-10-13 23:11:46
簡單工廠模式、工廠方法模式和抽象工廠模式有何區別?
一、簡單工廠模式、工廠方法模式和抽象工廠模式的區別簡單工廠模式簡單工模式時類的創建模式,又叫做靜態工廠方法(static Factory Method)。...詳情>>
2023-10-13 21:42:32
聚類和降維有什么區別與聯系?
一、聚類和降維的區別與聯系區別降維就是復雜的高維數據信息簡化為更容易閱讀的低維數據信息,就像素描把三維的立體圖形繪制在二維的平面上,而...詳情>>
2023-10-13 20:26:02
OC中協議和多態有什么區別?
一、OC中協議和多態的區別在Objective-C中,協議(Protocol)和多態(Polymorphism)是兩個不同的概念,它們的區別如下:協議(Protocol):協...詳情>>
2023-10-13 20:01:13熱門推薦
大家都在用的Mpp數據庫有哪些?
沸Concurrent Programming, Parallel Programming 的本質區別是什么?
熱lua編譯器和lua解釋器有什么區別?
熱怎么自定義Visual Studio代碼折疊識別的區域?
新4核4線程和4核8線程區別?
簡單工廠模式、工廠方法模式和抽象工廠模式有何區別?
Spark 和 Hadoop 有什么區別?
cs和bs區別?
axios和ajax區別?
ar模型和ma模型的區別?
聚類和降維有什么區別與聯系?
DOF和HP有什么區別?
OC中協議和多態有什么區別?
SAS 9.0中,class指令跟by指令有哪些區別?
技術干貨






