求解答Animal animal=new Dog()和Animal animal=dog的解釋為什么一樣
視頻中老師說Animal animal=dog是父類引用指向子類對象這不是和Animal animal=new Dog()解釋一樣嗎?一種解釋怎么會有兩種表達(dá)方式?感覺很奇怪。
視頻中老師說Animal animal=dog是父類引用指向子類對象這不是和Animal animal=new Dog()解釋一樣嗎?一種解釋怎么會有兩種表達(dá)方式?感覺很奇怪。
2018-10-18
舉報
2018-10-19
第一種寫法是定義一個Dog類的對象,就是你說的父類引用指向子類對象,思想是多態(tài)。
第二種寫法是定義Animal類的對象,并且把dog賦值給它。這里有一個隱藏的類型轉(zhuǎn)換??梢苑纸獬蓛删湓拰?shí)現(xiàn),
Animal animal = new Animal();
animal = dog;
2018-10-18
Animal animal = dog更傾向于賦值;
可以在類里寫一個變量,和對應(yīng)的get、set方法。然后先將dog中的變量賦值,再把dog賦值給animal,此時animal中的變量就是dog賦值過的值。