課程
/后端開發(fā)
/Java
/Java入門第二季
RT,為什么不直接通過子類來直接定義對象呢?或者說父類的引用有什么好處呢?
2015-03-04
源自:Java入門第二季 10-1
正在回答
Animal?animal?=?new?Cat();??//聲明的是父類,實(shí)際指向的是子類的一個(gè)對象。
代碼定義了一個(gè)Animal類型的引用,指向新建的Cat類型的對象。由于Cat是繼承自它的父類Animal,所以Animal類型的引用是可以指向Cat類型的對象的,這就是“向上轉(zhuǎn)型”。這樣做意義就是因?yàn)樽宇愂菍Ω割惖囊粋€(gè)改進(jìn)和擴(kuò)充,所以一般子類在功能上較父類更強(qiáng)大,屬性較父類更獨(dú)特, 定義一個(gè)父類類型的引用指向一個(gè)子類的對象既可以使用子類強(qiáng)大的功能,又可以抽取父類的共性。 所以,父類類型的引用可以調(diào)用父類中定義的所有屬性和方法,而對于子類中定義而父類中沒有的方法,父類引用是無法調(diào)用的;
這么說可能還有些不好理解,學(xué)習(xí)完“Java設(shè)計(jì)模式”之后就很容易理解了。
http://t.imooc.com/course/programdetail/pid/18
舉報(bào)
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
2 回答父類引用和子類引用
2 回答父類引用子類
3 回答為什么要引入“父類引用”,直接用子類的引用不好嗎?
1 回答父類引用的數(shù)組的用法是什么
1 回答不太理解“類的引用”這個(gè)概念,使用“父類的引用”有什么好處?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-03-05
代碼定義了一個(gè)Animal類型的引用,指向新建的Cat類型的對象。由于Cat是繼承自它的父類Animal,所以Animal類型的引用是可以指向Cat類型的對象的,這就是“向上轉(zhuǎn)型”。這樣做意義就是因?yàn)樽宇愂菍Ω割惖囊粋€(gè)改進(jìn)和擴(kuò)充,所以一般子類在功能上較父類更強(qiáng)大,屬性較父類更獨(dú)特, 定義一個(gè)父類類型的引用指向一個(gè)子類的對象既可以使用子類強(qiáng)大的功能,又可以抽取父類的共性。 所以,父類類型的引用可以調(diào)用父類中定義的所有屬性和方法,而對于子類中定義而父類中沒有的方法,父類引用是無法調(diào)用的;
這么說可能還有些不好理解,學(xué)習(xí)完“Java設(shè)計(jì)模式”之后就很容易理解了。