課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
Telphone tel = new CellPone();
2015-08-09
源自:Java入門第二季 升級版 10-3
正在回答
這就是多態(tài)
父類引用變量引用子類時可以調(diào)用子類覆蓋的方法。
舉個例子:
假設(shè)有類Cat,類Dog,類Duck。。。他們都有一個繼承自父類Animal的方法eat(),各自覆蓋了這個方法,因為貓狗鴨吃相不同
現(xiàn)在。我有另一類,里面有個方法處理各種動物的吃相all_eat()
當然你可以這么寫
//?給每個類型都定義一個對象的引用 //?需要用到某個類型時給其創(chuàng)建對象 public?Cat?cat?=?null; public?Dog?dog?=?null; public?Duck?ducl?=?null; public?void?all_eat(){ ????if(cat!=null){ ????????cat.eat(); ????} ????if(dog!=null){ ????????dog.eat(); ????} ????if(duck!=null){ ????????duc.eat(); ????} }
這樣寫是不是比較麻煩,如果類型有十幾個甚至更多呢
所以用多態(tài)可以這么寫
public?void?all_eat(Animal?animal){ ????//?你可以把?Cat,?Dog,?Duck?任意一個的對象作為參數(shù)傳進來 ????//?因為他們都是Animal的子類,并且接下來animal.eat()會 ????//?根據(jù)實際對象的類型去調(diào)用相應(yīng)的eat()方法。這就是多態(tài) ????animal.eat(); }
Ngu_smy 提問者
解釋的很清楚,學習了,謝謝大佬
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
3 回答為什么要用父類的引用指向子類的對象?
3 回答為什么要用父類的引用指向?qū)ο螅?/p>
1 回答父類引用指向子類對象。
2 回答多態(tài)的好處是什么?父類引用指向子類對象的好處是什么?
2 回答父類的引用可以指向子類的對象什么意思?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-08-09
這就是多態(tài)
父類引用變量引用子類時可以調(diào)用子類覆蓋的方法。
舉個例子:
假設(shè)有類Cat,類Dog,類Duck。。。他們都有一個繼承自父類Animal的方法eat(),各自覆蓋了這個方法,因為貓狗鴨吃相不同
現(xiàn)在。我有另一類,里面有個方法處理各種動物的吃相all_eat()
當然你可以這么寫
這樣寫是不是比較麻煩,如果類型有十幾個甚至更多呢
所以用多態(tài)可以這么寫
2018-04-02
解釋的很清楚,學習了,謝謝大佬