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