課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
父類的引用指向子類對象 怎么理解呢 ? 這和一般的 ?Dog obj2 = new Dog(); (我習慣了這樣寫法),有什么么實際意義和應用呢?
2015-06-30
源自:Java入門第二季 升級版 10-1
正在回答
Aninal animal=new Animal();
Aniamal animal=new Dog();
Dog dog=new Dog();
這三種的意思你應該都清楚,不是所有的東西的存在都一定會有什么實際的意義和應用,如果非得說的話,我只能說增加了編程代碼的多樣性,你可以有多重選擇,但相比起來其實優(yōu)勢差不多,只是創(chuàng)建的時候意義不一樣,這就是多樣性。
這里是java三種多態(tài)中的 引用多態(tài),與Dog obj2 = new Dog(); 是完全不同的,假如子類中重寫了父類中的方法show(或者沒有寫)
Animal obj2 = new Dog();這里是父類的引用指向子類對象,這樣的話子類就可的話我們利用
obj2.show();就可以調(diào)用子類中重寫的方法show(如果沒有重寫,則調(diào)用繼承的方法show),但是子類中特有的方法是不能調(diào)用的
另一個Animal obj2 = new Aniaml();也就是你說的Dog obj2 = new Dog();這里是父類的引用指向父類對象,利用obj2.父類的中的方法,就可以調(diào)用父類中的所有方法
希望你多理解,在看下那一的視頻,希望可以幫到你
DH111
鄙人認為:Animal obj2 = new Dog這樣的寫法主要是為了以后接口的創(chuàng)建,便于設計模式的實現(xiàn),以及代碼的復用
java的多態(tài),你可以多搜一下資料慢慢體會一下,剛剛開始的確有點難
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構中體會Java面向對象編程的奧妙
3 回答不太理解Animal obj2=new Dog()?
1 回答還是不懂Animal obj1 = new Dog(); 與 Animal obj2 = new animal(); 的區(qū)別
3 回答關于Dog dog=new Dog與 Animal dog=new Dog
3 回答Animal animal=new Dog()和Animal animal=dog有區(qū)別嗎?
3 回答求解答Animal animal=new Dog()和Animal animal=dog的解釋為什么一樣
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2015-08-03
Aninal animal=new Animal();
Aniamal animal=new Dog();
Dog dog=new Dog();
這三種的意思你應該都清楚,不是所有的東西的存在都一定會有什么實際的意義和應用,如果非得說的話,我只能說增加了編程代碼的多樣性,你可以有多重選擇,但相比起來其實優(yōu)勢差不多,只是創(chuàng)建的時候意義不一樣,這就是多樣性。
2015-07-27
這里是java三種多態(tài)中的 引用多態(tài),與Dog obj2 = new Dog(); 是完全不同的,假如子類中重寫了父類中的方法show(或者沒有寫)
Animal obj2 = new Dog();這里是父類的引用指向子類對象,這樣的話子類就可的話我們利用
obj2.show();就可以調(diào)用子類中重寫的方法show(如果沒有重寫,則調(diào)用繼承的方法show),但是子類中特有的方法是不能調(diào)用的
另一個Animal obj2 = new Aniaml();也就是你說的Dog obj2 = new Dog();這里是父類的引用指向父類對象,利用obj2.父類的中的方法,就可以調(diào)用父類中的所有方法
希望你多理解,在看下那一的視頻,希望可以幫到你
2015-07-05
鄙人認為:Animal obj2 = new Dog這樣的寫法主要是為了以后接口的創(chuàng)建,便于設計模式的實現(xiàn),以及代碼的復用
2015-06-30
java的多態(tài),你可以多搜一下資料慢慢體會一下,剛剛開始的確有點難