Java基礎(chǔ)-值傳遞與引用傳遞

值傳遞:參數(shù)是基本類型

引用傳遞:參數(shù)是封裝類型

這就要從java底層的機(jī)制講起了踪旷,java的內(nèi)存模型分為乍丈。

1.基本類型的變量放在棧里;

2.封裝類型中喉前,對(duì)象放在堆里没酣,對(duì)象的引用放在棧里。

java在方法傳遞參數(shù)時(shí)卵迂,是將變量復(fù)制一份裕便,然后傳入方法體去執(zhí)行。這句話是很難理解的见咒,也是解釋這個(gè) 問(wèn)題的精髓偿衰。我們先按照這句話解釋一下基本類型的傳遞



虛擬機(jī)分配給num一個(gè)內(nèi)存地址,并且存了一個(gè)值0.

虛擬機(jī)復(fù)制了一個(gè)num改览,我們叫他num’下翎,num’和num的內(nèi)存地址不同,但存的值都是0宝当。

虛擬機(jī)講num’傳入方法视事,方法將num’的值改為1.

方法結(jié)束,方法外打印num的值今妄,由于num內(nèi)存中的值沒有改變郑口,還是0,所以打印是0.



我們?cè)俳忉尫庋b類型的傳遞:

虛擬機(jī)在堆中開辟了一個(gè)Product的內(nèi)存空間盾鳞,內(nèi)存中包含proName和num犬性。

虛擬機(jī)在棧中分配給p一個(gè)內(nèi)存地址,這個(gè)地址中存的是1中的Product的內(nèi)存地址腾仅。

虛擬機(jī)復(fù)制了一個(gè)p乒裆,我們叫他p’,p和p’的內(nèi)存地址不同,但它們存的值是相同的推励,都是1中Product的內(nèi)存地址鹤耍。

將p’傳入方法,方法改變了1中的proName和num验辞。

方法結(jié)束稿黄,方法外打印p中變量的值,由于p和p’中存的都是1中Product的地址跌造,但是1中Product里的值發(fā)生了改變杆怕, 所以,方法外打印p的值壳贪,是方法執(zhí)行以后的陵珍。我們看到的效果是封裝類型的值是改變的。



最后我們?cè)賮?lái)解釋String在傳遞過(guò)程中的步驟:

虛擬機(jī)在堆中開辟一塊內(nèi)存违施,并存值”ab”互纯。

虛擬機(jī)在棧中分配給str一個(gè)內(nèi)存,內(nèi)存中存的是1中的地址磕蒲。

虛擬機(jī)復(fù)制一份str留潦,我們叫str’,str和str’內(nèi)存不同辣往,但存的值都是1的地址愤兵。

將str’傳入方法體

方法體在堆中開辟一塊內(nèi)存,并存值”cd”

方法體將str’的值改變排吴,存入5的內(nèi)存地址

方法結(jié)束秆乳,方法外打印str,由于str存的是1的地址钻哩,所有打印結(jié)果是”ab”

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末屹堰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子街氢,更是在濱河造成了極大的恐慌扯键,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珊肃,死亡現(xiàn)場(chǎng)離奇詭異荣刑,居然都是意外死亡馅笙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門厉亏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)董习,“玉大人,你說(shuō)我怎么就攤上這事爱只∶罅埽” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵恬试,是天一觀的道長(zhǎng)窝趣。 經(jīng)常有香客問(wèn)我,道長(zhǎng)训柴,這世上最難降的妖魔是什么哑舒? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮幻馁,結(jié)果婚禮上散址,老公的妹妹穿的比我還像新娘。我一直安慰自己宣赔,他們只是感情好预麸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著儒将,像睡著了一般吏祸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钩蚊,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天贡翘,我揣著相機(jī)與錄音,去河邊找鬼砰逻。 笑死鸣驱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蝠咆。 我是一名探鬼主播踊东,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼刚操!你這毒婦竟也來(lái)了闸翅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤菊霜,失蹤者是張志新(化名)和其女友劉穎坚冀,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鉴逞,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡记某,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年司训,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片液南。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡壳猜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贺拣,到底是詐尸還是另有隱情蓖谢,我是刑警寧澤捂蕴,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布譬涡,位于F島的核電站,受9級(jí)特大地震影響啥辨,放射性物質(zhì)發(fā)生泄漏涡匀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一溉知、第九天 我趴在偏房一處隱蔽的房頂上張望陨瘩。 院中可真熱鬧,春花似錦级乍、人聲如沸舌劳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)甚淡。三九已至,卻和暖如春捅厂,著一層夾襖步出監(jiān)牢的瞬間贯卦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工焙贷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留撵割,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓辙芍,卻偏偏與公主長(zhǎng)得像啡彬,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子故硅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容