課程
/后端開發
/Java
/Java入門第二季 升級版
使用父類引用不能調用子類的獨有方法,那么引入“父類引用”有什么用
2015-03-05
源自:Java入門第二季 升級版 10-1
正在回答
這段解答我看過了,還是不大明白,等學完模式設計后回頭再來考慮吧。謝謝了
Animal?animal?=?new?Cat();??//聲明的是父類,實際指向的是子類的一個對象。
代碼定義了一個Animal類型的引用,指向新建的Cat類型的對象。由于Cat是繼承自它的父類Animal,所以Animal類型的引用是可以指向Cat類型的對象的,這就是“向上轉型”。這樣做意義就是因為子類是對父類的一個改進和擴充,所以一般子類在功能上較父類更強大,屬性較父類更獨特, 定義一個父類類型的引用指向一個子類的對象既可以使用子類強大的功能,又可以抽取父類的共性。 所以,父類類型的引用可以調用父類中定義的所有屬性和方法,而對于子類中定義而父類中沒有的方法,父類引用是無法調用的;
這么說可能還有些不好理解,學習完“Java設計模式”之后就很容易理解了。
http://t.imooc.com/course/programdetail/pid/18
王胖子 提問者
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答父類引用和子類引用
6 回答為什么創建子類的對象一定要用父類或者接口引用,直接用子類引用創建本類的對象不好嗎
2 回答父類引用子類
1 回答為什么Java中父類要引用子類?
1 回答父類對子類的引用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-03-10
這段解答我看過了,還是不大明白,等學完模式設計后回頭再來考慮吧。謝謝了
2015-03-05
代碼定義了一個Animal類型的引用,指向新建的Cat類型的對象。由于Cat是繼承自它的父類Animal,所以Animal類型的引用是可以指向Cat類型的對象的,這就是“向上轉型”。這樣做意義就是因為子類是對父類的一個改進和擴充,所以一般子類在功能上較父類更強大,屬性較父類更獨特, 定義一個父類類型的引用指向一個子類的對象既可以使用子類強大的功能,又可以抽取父類的共性。 所以,父類類型的引用可以調用父類中定義的所有屬性和方法,而對于子類中定義而父類中沒有的方法,父類引用是無法調用的;
這么說可能還有些不好理解,學習完“Java設計模式”之后就很容易理解了。