課程
/后端開發
/Java
/Java入門第二季 升級版
Dog othr = (Dog) obj;這里為什么要強制轉換對象類型啊,上面不是已經比較過兩個類對象了嗎?
2017-03-30
源自:Java入門第二季 升級版 9-9
正在回答
前面第一次比較是比較了兩個引用是否指向同一塊內存區域,第二次比較是比較了代碼中是否是相同的類名,第三次比較是要比較對象的屬性值是否相同,因為傳進來的obj是Object類型,為了能夠使用Dog類中的屬性,必須先將其強制轉換成Dog類型
Dog othr = (Dog) obj;就是把傳進來的對象換成了Dog類型
前面判斷的對象是判斷兩個對象是否是一個對象,即這兩個引用是否指向同一塊內存?,F在的強轉應該是怕你傳入的對象的類型與該類型不是同一類型,因為類型不同就無法比較的屬性值了。
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
1 回答Dog other=(Dog)obj??
1 回答為什么要有這個Dog other=(Dog)obj;
1 回答Dog d = (Dog) obj是什么意思?
3 回答一定要 Dog other = (Dog)obj;
3 回答Dog other=(Dog) obj;這個語句為什么不用new呢
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-04-04
前面第一次比較是比較了兩個引用是否指向同一塊內存區域,第二次比較是比較了代碼中是否是相同的類名,第三次比較是要比較對象的屬性值是否相同,因為傳進來的obj是Object類型,為了能夠使用Dog類中的屬性,必須先將其強制轉換成Dog類型
2017-03-30
Dog othr = (Dog) obj;就是把傳進來的對象換成了Dog類型
2017-03-30
前面判斷的對象是判斷兩個對象是否是一個對象,即這兩個引用是否指向同一塊內存?,F在的強轉應該是怕你傳入的對象的類型與該類型不是同一類型,因為類型不同就無法比較的屬性值了。