課程
/后端開發
/Java
/Java入門第三季
請問下重寫equals方法時 將obj強轉為Course類型是為什么
為什么要將這個強轉為Course類型
2017-10-30
源自:Java入門第三季 6-1
正在回答
因為開始這個這里是比較課程啊,你傳進來的obj開始就是一個Course對象,只不過傳進來的時候是向上轉型自動轉程Object類,而在equals方法中需要比較Course里面的屬性內容,所以就要把傳進來的Obj再強制轉型為Course。還有就是如果傳進來的不是Course對象,是不可能走到這一步的,因為前面有instanceof來比較是不是Course對象。
慕移動7208282 提問者
堅持每天都看 回復 慕移動7208282 提問者
慕移動7208282 提問者 回復 堅持每天都看
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
5 回答重寫equal中的obj強轉為Course問題
4 回答由if(!(obj instanceof Course)) return false;若obj已經是Course類型,繼續執行下面這句Course course=(Course)obj;為什么還要將obj轉換成course類型?
2 回答equal重寫中既然已經判斷了obj是course 類型的.......為什么還要把它再強轉成course類型進行值的比較?
3 回答equal重寫中既然已經判斷了obj是course 類型的.......為什么還要把它再強轉成course類型進行值的比較?
3 回答obj不是已經是一個非空的Course類對象了嗎?為什么還有Course course=(Course)obj;既然都是?Course類的對象了為什么還要強轉?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-10-31
因為開始這個這里是比較課程啊,你傳進來的obj開始就是一個Course對象,只不過傳進來的時候是向上轉型自動轉程Object類,而在equals方法中需要比較Course里面的屬性內容,所以就要把傳進來的Obj再強制轉型為Course。還有就是如果傳進來的不是Course對象,是不可能走到這一步的,因為前面有instanceof來比較是不是Course對象。