av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java編程,函數(shù)內(nèi)變量傳遞問(wèn)題,為什么沒(méi)有都改變呢?

瀏覽:110日期:2024-01-20 15:32:09

問(wèn)題描述

代碼如下:

public void test(BSTNode<T> z) {BSTNode<T> y;if (z.left != null){ y = z.parent; BSTNode<T> a; a = y.left; if (y != null){System.out.println('before a '+a);System.out.println('before y.left'+y.left);System.out.println('befere z.parent.left '+z.parent.left);y.left = null;//a = null;System.out.println('after a '+a);System.out.println('after y.left '+y.left);System.out.println('after z.parent.left '+z.parent.left); }} }

打印結(jié)果如下:before a threadSleep.BSTree$BSTNode@15db9742before y.leftthreadSleep.BSTree$BSTNode@15db9742befere z.parent.left threadSleep.BSTree$BSTNode@15db9742after a threadSleep.BSTree$BSTNode@15db9742after y.left nullafter z.parent.left null

請(qǐng)問(wèn) “after a ”為什么不是null?

或者將代碼:

y.left = null;

//a = null;

改為

//y.left = null;

a = null;

結(jié)果為:

before a threadSleep.BSTree$BSTNode@15db9742

before y.leftthreadSleep.BSTree$BSTNode@15db9742

befere z.parent.left threadSleep.BSTree$BSTNode@15db9742

after a threadSleep.BSTree$BSTNode@15db9742

after y.left null

after z.parent.left null

運(yùn)行環(huán)境:

jdk1.8

問(wèn)題解答

回答1:

你的結(jié)果兩次肯定不一樣。其實(shí)就和下面這種是一樣的。

int x = 10;int y = x;y = 0;x ?回答2:

Java中所說(shuō)的按引用傳遞實(shí)質(zhì)上是傳遞該對(duì)象的地址,該地址其實(shí)是按值傳遞的,通過(guò)這個(gè)地址可以修改其指向內(nèi)存處對(duì)象的值。改變?cè)摰刂返闹岛翢o(wú)意義,只會(huì)失去對(duì)真實(shí)對(duì)象的掌控。

回答3:

我來(lái)我來(lái)

很簡(jiǎn)單,你只要理解,引用傳遞傳遞的是一個(gè)地址,這個(gè)地址傳過(guò)去之后會(huì)放在被調(diào)用方法的本地變量變中,兩個(gè)方法就有兩個(gè)棧幀,每個(gè)棧幀都有自己的本地變量表,互不影響。所以這就是你傳個(gè)引用過(guò)去,然后改變了引用的指向?qū)υ瓉?lái)沒(méi)有形象的原因。

那么,為啥obj.val被修改的時(shí)候,val的值會(huì)改變呢,因?yàn)関al的值是存在堆中的,他被復(fù)制過(guò)來(lái),修改,然后又寫回去堆中,所以就更改了。不明白可以繼續(xù)提問(wèn)

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 国产在线视频一区二区 | 免费看片在线播放 | 国产精品美女 | 美女黄色在线观看 | 国产情侣啪啪 | 免费高清av| 国产一级免费视频 | 特黄视频| 久久免费福利 | 久热精品在线播放 | av网站免费| 国产成人av在线 | 久久精品一级 | 国产精品日日摸夜夜添夜夜av | 手机看片169 | 国产日韩免费视频 | 国产中的精品av涩差av | 国产精品久久久久久久久免费相片 | 久久久av一区 | 中文字幕在线观看视频网站 | 久久国产一区二区三区 | 黄色av观看| 国产精品激情在线 | 99亚洲精品 | 日韩有码一区 | 成人国产精品久久久 | 亚洲天堂精品久久 | 国产亚洲网站 | 久久久人成影片一区二区三区 | 亚洲一区在线播放 | 日本a∨精品中文字幕在线 亚洲91视频 | 黄色三级在线播放 | av在线一区二区三区 | 国产精品小视频在线观看 | 欧美日韩综合 | 亚洲国产一区二区视频 | 日本成人中文字幕在线观看 | 国产一区二区三区久久久久久久久 | 高清国产午夜精品久久久久久 | 视频一区在线 | 国产99视频精品免费播放照片 |