課程
/后端開發
/Java
/Java入門第二季 升級版
多肽中的Animal ?obj1=new Dog()這個不是父類引用指向子類嗎?
和Animal animal=dog ?區別在哪?
2017-07-26
源自:Java入門第二季 升級版 10-2
正在回答
第一個是指父類引用指向子類對象,從而由繼承的角度創建Dog對象,dog繼承animal這個類的。
第二個前面有Dog dog=new Dog();因為dog繼承animal所以可以從子類傳換成父類animal這個對象。
你可以理解成將狗變成動物。是需要強制轉換的。
區別就在于第一個是由繼承來創建dog對象,這個dog對象是可以繼承animal的所有東西,只是創建對象而已。
第二個只是dog對象強制轉換成animal對象,類型轉換。
因為dog本身是繼承自animal的,Animal animal=dog是指,dog引用自animal對象
第一個是父類引用指向子類對象,第二個不知道是什么。我也沒看懂
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
4 回答大神,請指教
7 回答大神,請指教
10 回答自寫的代碼,請大神們多多指教
2 回答問題求大神指教
3 回答請教多態的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-08-16
第一個是指父類引用指向子類對象,從而由繼承的角度創建Dog對象,dog繼承animal這個類的。
第二個前面有Dog dog=new Dog();因為dog繼承animal所以可以從子類傳換成父類animal這個對象。
你可以理解成將狗變成動物。是需要強制轉換的。
區別就在于第一個是由繼承來創建dog對象,這個dog對象是可以繼承animal的所有東西,只是創建對象而已。
第二個只是dog對象強制轉換成animal對象,類型轉換。
2017-08-01
因為dog本身是繼承自animal的,Animal animal=dog是指,dog引用自animal對象
2017-07-26
第一個是父類引用指向子類對象,第二個不知道是什么。我也沒看懂