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