您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關深入淺析JAVA中值類型和引用類型的區別有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、 Java中值類型和引用類型的不同?
[定義]
引用類型表示你操作的數據是同一個,也就是說當你傳一個參數給另一個方法時,你在另一個方法中改變這個變量的值,
那么調用這個方法是傳入的變量的值也將改變.值類型表示復制一個當前變量傳給方法,
當你在這個方法中改變這個變量的值時,最初生命的變量的值不會變.通俗說法: 值類型就是現金,要用直接用;引用類型是存折,要用還得先去銀行取現。----(摘自網上)
[值類型]
也就是基本數據類型 基本數據類型常被稱為四類八種
四類:
1,整型 2,浮點型 3,字符型4,邏輯型
八種:
1,整型3種 byte,short,int,long
2,浮點型2種 float,double
3,字符型1種 char
4,邏輯型1種 boolean
[引用類型]
除了四類八種基本類型外,所有的類型都稱為引用類型(數組,類,接口,字符串)
在弄清楚值類型與引用類型之后,最后一點就是值傳遞與引用傳遞,這才是關鍵
[值傳遞]
基本數據類型賦值都屬于值傳遞,值傳遞傳遞的是實實在在的變量值,是傳遞原參數的拷貝,值傳遞后,實參傳遞給形參的值,形參發生改變而不影響實參。
[引用傳遞]
引用類型之間賦值屬于引用傳遞。引用傳遞傳遞的是對象的引用地址,也就是它的本身(自己最通俗的理解)。
引用傳遞:傳的是地址,就是將實參的地址傳遞給形參,形參改變了,實參當然被改變了,因為他們指向相同的地址。
引用和我們的指針差不多,但是它不又不需要我們去具體的操作
[內存分配]
一個具有值類型(value type)的數據存放在棧內的一個變量中。即是在棧中分配內存空間,直接存儲所包含的值,其值就代表數據本身。
值類型的數據具有較快的存取速度。
一個具有引用類型(reference type)的數據并不駐留在棧中,而是存儲于堆中。即是在堆中分配內存空間,不直接存儲所包含的值,而是指向所要存儲的值,其值代表的是所指向的地址。當訪問一個具有引用類型的數據時,需要到棧中檢查變量的內容,該變量引用堆中的一個實際數據。引用類型的數據比值類型的數據具有更大的存儲規模和較低的訪問速度。
Java中有垃圾回收機制,棧內存中的變量隨著方法的結束內存自然銷毀了,而用引用類型的時候,當方法結束的時候,這個對象可能被另一個引用類型所應用,不會銷毀,只有當一個對象沒有任何引用變量引用的時候,垃圾回收機制才會回收
上述就是小編為大家分享的深入淺析JAVA中值類型和引用類型的區別有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。