北京海淀區(qū)IT培訓(xùn)海淀區(qū)Java培訓(xùn)
根據(jù)學(xué)員情況就近安排學(xué)習(xí),可預(yù)約試聽(tīng)課程:
對(duì)象和對(duì)象引用
如下表達(dá)式:Aa1=ne??wA;它代表A是類,a1是引用,a1不是對(duì)象,newA才是對(duì)象,a1引用指向newA這個(gè)對(duì)象。
在Java里,“=”不能被看成是一個(gè)賦值語(yǔ)句,它不是在把一個(gè)對(duì)象賦給另外一個(gè)對(duì)象,它的執(zhí)行過(guò)程實(shí)質(zhì)上是將右邊對(duì)象的地址傳給了左邊的引用,使得左邊的引用指向了右邊的對(duì)象。Java表面上看起來(lái)沒(méi)有指針,但它的引用其實(shí)質(zhì)就是一個(gè)指針,引用里面存放的并不是對(duì)象,而是該對(duì)象的地址,使得該引用指向了對(duì)象。在Java里,“=”語(yǔ)句不應(yīng)該被翻譯成賦值語(yǔ)句,因?yàn)樗鶊?zhí)行的確實(shí)不是一個(gè)賦值的過(guò)程,而是一個(gè)傳地址的過(guò)程,被譯成賦值語(yǔ)句會(huì)造成很多誤解,譯得不準(zhǔn)確。
再如:Aa2;它代表A是類,a2是引用,a2不是對(duì)象,a2所指向的對(duì)象為空null;
再如:a2=a1;它代表,a2是引用,a1也是引用,a1所指向的對(duì)象的地址傳給了a2(傳址),使得a2和a1指向了同一對(duì)象。
綜上所述,可以簡(jiǎn)單的記為,在初始化時(shí),“=”語(yǔ)句左邊的是引用,右邊new出來(lái)的是對(duì)象。
在后面的左右都是引用的“=”語(yǔ)句時(shí),左右的引用同時(shí)指向了右邊引用所指向的對(duì)象。再所謂實(shí)例,其實(shí)就是對(duì)象的同義詞。
--------------------------------------
注:電話預(yù)約/咨詢,并預(yù)約免費(fèi)試聽(tīng),報(bào)名享優(yōu)惠
咨詢電話:
手機(jī)/微信:
咨詢
地址:多個(gè)校區(qū),您可就近選擇入學(xué)
溫馨貼士:為不影響你的學(xué)業(yè),來(lái)校時(shí)請(qǐng)先電話或咨詢,方便我校安排相關(guān)的課程咨詢老師為你解答