多態中4種創建對象的方法有什么不同?
子類 引用 子類的對象 為什么和 父類引用子類的對象的結果不同???
就比如?
Anmial dog1=new dog();
dog dog 2 = new dog();
dog1.age 和 dog2.age 如果對子類的age屬性重寫了
dog1.age是父類age的值
dog2.age是子類age的值
子類 引用 子類的對象 為什么和 父類引用子類的對象的結果不同???
就比如?
Anmial dog1=new dog();
dog dog 2 = new dog();
dog1.age 和 dog2.age 如果對子類的age屬性重寫了
dog1.age是父類age的值
dog2.age是子類age的值
2019-01-22
舉報
2019-01-28
這其實是繼承的問題,而不是多態的
繼承的順序是,先父類后子類,先屬性,后構造方法。
就題主的問題而言,dog在初始化時,先初始化了父類的值,后初始化子類的值,后來的蓋掉了先來的,所以顯示的是子類的值。
所以,其實dog1、2顯示的都應該是子類的值
(子類Dog,age=20,父類age=10)
輸出