亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

多態中4種創建對象的方法有什么不同?

子類 引用 子類的對象 為什么和 父類引用子類的對象的結果不同???


就比如?

Anmial dog1=new dog();

dog dog 2 = new dog();

dog1.age 和 dog2.age 如果對子類的age屬性重寫了

dog1.age是父類age的值

dog2.age是子類age的值

正在回答

1 回答

這其實是繼承的問題,而不是多態的

繼承的順序是,先父類后子類,先屬性,后構造方法。

就題主的問題而言,dog在初始化時,先初始化了父類的值,后初始化子類的值,后來的蓋掉了先來的,所以顯示的是子類的值。

所以,其實dog1、2顯示的都應該是子類的值

public?class?Initial?{
????public?static?void?main(String[]?args)?{
????????Animal?dog1=new?Dog();
????????Dog?dog2=new?Dog();
????????System.out.println(((Dog)?dog1).age);
????????System.out.println(dog2.age);
????}
}

(子類Dog,age=20,父類age=10)

輸出https://img1.sycdn.imooc.com//5c4f13ed00019cea04390176.jpg

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

舉報

0/150
提交
取消

多態中4種創建對象的方法有什么不同?

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號