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

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

交通工具多態問題

582a9adf000196b203950223.jpg

582a9ae000012aa705000208.jpg

582a9ae00001aaa204200218.jpg

582a9ae100011f1305000262.jpg

我已經在子類中重寫了父類的對象,然后在main函數中用父類引用了子類的對象,為什么輸出的還是父類的對象?

正在回答

2 回答

你的obj1,2,3類型是Vehicle。

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

qq_魅影勁_0 提問者

子類對象在構造方法中賦值就可以正常調用了
2016-11-17 回復 有任何疑惑可以回復我~

你的obj1是用的多態的引用, 在多態的引用中, 對于變量來說,變量不能被重寫。

重寫只針對方法來說的

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

qq_魅影勁_0 提問者

繼承的屬性不能重寫
2016-11-21 回復 有任何疑惑可以回復我~
#2

慕萊塢7248995 回復 qq_魅影勁_0 提問者

是繼承的屬性不能重寫嗎 還是說因為采用多態的引用, 重寫才沒有發生作用呢?
2016-11-21 回復 有任何疑惑可以回復我~
#3

慕萊塢7248995 回復 慕萊塢7248995

我的理解是,子類可以重寫父類的屬性, 如果是通過Bus bus1= new Bus();來初始化, 就可以拿到子類的屬性 但是如果通過Vehicle bus2=new Bus();來多態引用, 拿到的仍然是父類的屬性 也不知道對不對
2016-11-21 回復 有任何疑惑可以回復我~
#4

qq_魅影勁_0 提問者 回復 慕萊塢7248995

所以如果想用多態來調用重寫子類的屬性 必須在子類的構造方法里面對其進行賦值,這樣在父類引用子類對象的時候拿到的就是重寫后的屬性.具體還得自己試試 不知道說得對不對
2016-11-22 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

交通工具多態問題

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

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

幫助反饋 APP下載

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

公眾號

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