java中的引用傳遞

首先铆遭,java中只有值傳遞嗎硝桩?

其實(shí)有些人認(rèn)為有,有些人認(rèn)為沒有枚荣,各有各的道理
怎么理解呢碗脊?

java中傳遞對(duì)象做為參數(shù)時(shí),實(shí)際上傳遞的只是這個(gè)對(duì)象引用的一個(gè)拷貝棍弄,讀起來可能有點(diǎn)難以理解望薄,這里看個(gè)例子:

public class Example {

    String account = "hello";
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Example e = new Example();
        e.change(e);
        System.out.print(e.account);
        
    }
    
    void change(Example e){
        e.account="hello1";
    }
}

這里的輸出是hello1,和我們所預(yù)期的一樣呼畸,可能這里我們會(huì)覺得這不就是引用傳遞嗎:壑А!其實(shí)這里傳遞的只是Example對(duì)象引用的一個(gè)拷貝蛮原,聽名字卧须,只是個(gè)拷貝,自然與原引用不相干了儒陨。只是這兩個(gè)引用指向的內(nèi)容一樣花嘶,所以我們改變內(nèi)容的時(shí)候,原對(duì)象的內(nèi)容也跟著變了蹦漠!

再看一個(gè)例子:

public class Example {

    String account = "hello";
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Example e = new Example();
        e.change(e.account);
        System.out.print(e.account);
        
    }
    
    void change(String a){
        a="hello1";
    }
}

這里輸出是hello 椭员,可以發(fā)現(xiàn),這次account值沒有被改變了笛园,為什么呢隘击?

其實(shí)這里傳遞的也是對(duì)象引用的拷貝,只是這里傳遞的是個(gè) String對(duì)象:account對(duì)象引用的拷貝 a研铆,可以看到埋同,在change方法中 a 指向了“hello1”,這時(shí)候相當(dāng)于a 和account 這兩個(gè)引用分別指向了不同的內(nèi)容棵红,這時(shí)候a引用所指向的內(nèi)容變了凶赁,自然跟account所指向的內(nèi)容沒有任何關(guān)系了!

最后總結(jié)一下逆甜,為什么當(dāng)傳遞對(duì)象做為參數(shù)時(shí)虱肄,這么像是引用傳遞!

這是因?yàn)閭鬟f的是引用的拷貝交煞,如果你不將這個(gè) 冒牌貨 指向一個(gè)新的內(nèi)容(對(duì)象)咏窿,那么他指向的對(duì)象還是原來那個(gè)呀!那當(dāng)你去操作這個(gè)引用所指的對(duì)象其實(shí)還是在操作原有的內(nèi)容错敢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末翰灾,一起剝皮案震驚了整個(gè)濱河市缕粹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纸淮,老刑警劉巖平斩,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咽块,居然都是意外死亡绘面,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門侈沪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揭璃,“玉大人,你說我怎么就攤上這事亭罪∈葩桑” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵应役,是天一觀的道長情组。 經(jīng)常有香客問我,道長箩祥,這世上最難降的妖魔是什么院崇? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮袍祖,結(jié)果婚禮上底瓣,老公的妹妹穿的比我還像新娘。我一直安慰自己蕉陋,他們只是感情好捐凭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著寺滚,像睡著了一般柑营。 火紅的嫁衣襯著肌膚如雪屈雄。 梳的紋絲不亂的頭發(fā)上村视,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音酒奶,去河邊找鬼蚁孔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惋嚎,可吹牛的內(nèi)容都是我干的杠氢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼另伍,長吁一口氣:“原來是場噩夢啊……” “哼鼻百!你這毒婦竟也來了绞旅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤温艇,失蹤者是張志新(化名)和其女友劉穎因悲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勺爱,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晃琳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了琐鲁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卫旱。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖围段,靈堂內(nèi)的尸體忽然破棺而出顾翼,到底是詐尸還是另有隱情,我是刑警寧澤奈泪,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布暴构,位于F島的核電站,受9級(jí)特大地震影響段磨,放射性物質(zhì)發(fā)生泄漏取逾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一苹支、第九天 我趴在偏房一處隱蔽的房頂上張望砾隅。 院中可真熱鬧,春花似錦债蜜、人聲如沸晴埂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儒洛。三九已至,卻和暖如春狼速,著一層夾襖步出監(jiān)牢的瞬間琅锻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工向胡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恼蓬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓僵芹,卻偏偏與公主長得像处硬,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拇派,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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