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