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

相關推薦HOT
更多>>
Java9和Java11區別大嗎?
一、Java9和Java11區別Java 9的新特性java模塊系統 (Java Platform Module System)。模塊系統的使用:HTTP 2 客戶端:HTTP/2標準是HTTP協議的詳情>>
2023-10-11 23:00:28
合約機和裸機有哪些區別?
一、合約機和裸機的區別1、定義不同合約機指的是運營商為了吸引用戶而推出的優惠購機的活動,它需要用戶使用特定的套餐,并且套餐時間有限制,...詳情>>
2023-10-11 22:28:38
struts2和springmvc區別?
一、struts2和springmvc區別1.框架機制Struts2采用Filter(StrutsPrepareAndExecuteFilter)實現,SpringMVC(DispatcherServ詳情>>
2023-10-11 21:59:06
Java是什么?
一、什么是Java?首先Java是一種廣泛使用的計算機編程語言,程序員用它來和計算機交流,把要求和設想Java語言表達出來,這個過程就是我們所說的...詳情>>
2023-10-11 21:33:35