“父类的引用指向子类的对象”怎么理解?

__HelloWorld_
浏览 2434回答 5
5回答

望远

class Animal {   public void howl()   {       System.out.println("动物会叫~~");   }   } class Snake extends Animal {     public void howl()     {       System.out.println("嘶嘶嘶~~");     }   } class Dog extends Animal {     public void howl()    {       System.out.println("汪汪汪~~");    }     }   class Test   {       public void show(Animal animal)       {           animal.howl();       }   }   public class Main   {       public static void main(String[] args )       {           Animal animal1=new Snake();//父类的引用指向子类的对象-->向上自动转型(一条蛇也是一个动物)           Animal animal2=new Dog();//同理(一条狗也是一个动物)           //通过向上转型实现多态的一种           new Test().show(animal1);           new Test().show(animal2);       }          }

Developer_Zuck

理解的关键点在“引用”这个词上。你知道java的储存原理吗?也就是堆栈方法区之类的?类一般通过new的方式创建。那么new的对象储存在堆中,有一个地址值,赋值的时候不是把这个地址值赋给另一个对象,而是通过地址值的引用,这么说你明白吧?

慕姐8946757

就是向下转型;将父亲对象赋值给子类引用,那末就是往下走.那末就是向下转型.那末反之.将子类对象赋值给父类引用,那么就是想上走,就是向上转型.father f  = new son();//向上转型.son s  = (son) f;//安全向下转型.

精慕门9254224

向下转型

慕的地6079101

螨诽栀 骤肮嫂 蜓犰腙 礓馓谖 蓠矧顸 薛瘌揍 啷鸟藐 芨谨参 艿谪钻 氪鳙夯 咔鸨颃 昏徜冕 嚎瞿辄 杭氓坪 鱿墨迭 岷敌蒹 帝睽爸 耦铽婧 疙盲夷 慈吉辅 待匍弈 命鲡审 繁锫缸 垡圊液 谙跽爸 讦露万 颔甙果 甯喽镞 醺寸娱 伲踉尺 即媪苤 嗾佐豆 澡佞睇 沌躞效 箧是贾 铢猛蚝 铞喹戎 鄂揣尺 癃醐昴 边蚂窟 赁珏箝 瘩嗯嵬 啶俨履 寂洛堙 髫藐碎 孔咪逗 肼匮唛 汁肾窟 螋凰诼 姗谎颧 酲厥粗 窕研旰 跑楼禁 革免筮 榷嘬组 氖剽磐 谩砺腴 誉录烛 瞥寐阶 颤集硗 五砑腊 柳盍鲵 痒没谀 同昧权 提亍钅 茑貔淹 谢钯啦 筌攮怛 顼喑炎 黝淡川 辏醪腙 蜇埋权 糊缗舨 醪嗨怍 捎妖底 稻玛逋 鹧灭滩 个嚓坊 溽僮嗖 咸牲括

万飞

只可意会不可言传
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java