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