第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Animal obj2 = new Dog();

父類的引用指向子類對象 怎么理解呢 ? 這和一般的 ?Dog obj2 = new Dog(); (我習慣了這樣寫法),有什么么實際意義和應用呢?

正在回答

4 回答

Aninal animal=new Animal();

Aniamal animal=new Dog();

Dog dog=new Dog();

這三種的意思你應該都清楚,不是所有的東西的存在都一定會有什么實際的意義和應用,如果非得說的話,我只能說增加了編程代碼的多樣性,你可以有多重選擇,但相比起來其實優(yōu)勢差不多,只是創(chuàng)建的時候意義不一樣,這就是多樣性。

0 回復 有任何疑惑可以回復我~


這里是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)用父類中的所有方法

希望你多理解,在看下那一的視頻,希望可以幫到你



0 回復 有任何疑惑可以回復我~
#1

DH111

Animal obj2 = new Animal();跟Dog obj2 = new Dog();怎么相同呢,按你所舉的例子:假如子類中重寫了父類中的方法show(或者沒有寫);那么我用Dog obj2 = new Dog();不是一樣可以通過obj2.show();調(diào)用子類中重寫后的方法嗎;所以才如帖主所問:Animal obj2 = new Dog();有什么么實際意義和應用呢 ?同求,望大神解疑。
2015-07-31 回復 有任何疑惑可以回復我~

鄙人認為:Animal obj2 = new Dog這樣的寫法主要是為了以后接口的創(chuàng)建,便于設計模式的實現(xiàn),以及代碼的復用

0 回復 有任何疑惑可以回復我~

java的多態(tài),你可以多搜一下資料慢慢體會一下,剛剛開始的確有點難

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Animal obj2 = new Dog();

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號