java引用類型和值類型的區(qū)別 java引用類型和原始類型的區(qū)別?
java引用類型和原始類型的區(qū)別?原始類型也叫做基本類型,java只有8種基本類型,分別是byte,short,int,long,float,double,char,boolean。引用類型是自己定義
java引用類型和原始類型的區(qū)別?
原始類型也叫做基本類型,java只有8種基本類型,分別是byte,short,int,long,float,double,char,boolean。引用類型是自己定義的類對(duì)象。 主要區(qū)別有,基本類型是在堆棧上進(jìn)行內(nèi)存分配,引用類型堆棧上只有引用,內(nèi)存分配在堆上,屬于動(dòng)態(tài)分配?;绢愋筒豢梢哉{(diào)用方法,但是可以使用基本類型的包裝器來調(diào)用。
java中,“基本類型的數(shù)據(jù)”和“引用類型的數(shù)據(jù)”有何區(qū)別?
Java的內(nèi)存分配上,主要分4個(gè)塊!一塊是用來裝代碼的,就是編譯的東西。一塊是用來裝靜態(tài)變量的,例如用static關(guān)鍵字的變量,例如字符串常量。一塊是stack,也就是棧,是用來裝變量和引用類型的!但區(qū)別在于,裝了變量以后,變量上是有值的,而引用類型本身在stack上是沒有值的。一塊是heap,也就是堆!堆可以一句話概括,裝new出來的東西!所以綜上所述,基本數(shù)據(jù)類型都在stack中,而引用類型,變量是放在stack中,真正有內(nèi)容的東西放在heap中,也就是當(dāng)new了一個(gè)新的引用類型,他就會(huì)放在堆中,同時(shí)棧中的引用類型變量會(huì)指向堆中你new出來的東西!這樣說希望能幫你了解到j(luò)ava的內(nèi)存分配問題。
JAVA的基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的區(qū)別?
區(qū)別主要體現(xiàn)在使用函數(shù) 傳入?yún)?shù)的時(shí)候基本數(shù)據(jù)類型由于在內(nèi)存中的一個(gè)地址存放的是這些變量的值 所以 調(diào)用函數(shù) 函數(shù)里的形參 就是復(fù)制這些變量的值 以后對(duì)形參值的變化 不會(huì)影響到原來變量的值而引用數(shù)據(jù)類型由于在內(nèi)存中是引用他的一個(gè)內(nèi)存地址而不是具體的值 所以 所以 調(diào)用函數(shù) 函數(shù)里的形參 就是復(fù)制這些變量的值的地址 當(dāng)對(duì)形參的值 進(jìn)行修改的時(shí)候 就等于是對(duì) 這些變量的值 進(jìn)行修改~ 所以會(huì)影響到原來變量的值