我有一个父类animal子类dog然后animal obj1 = new dog();和dog obj2 = new dog();有什么区别?
5 回答
已采纳
coder_Jason
TA贡献1条经验 获得超2个赞
我也纠结过这个问题,现在弄清楚了,首先你的第一种方式是,父类的引用指向子类的对象,这里会发生向上转型,也叫java中的多态,在第一种方式中,你可以通过父类的引用调用子类也就是dog中覆盖之后的父类方法,但是不能调用dog类中有而animal中没有的方法,而第二种方法就是一个简单的方式声明对象,可以调用自己的全部方法,由于dog是继承自animal的,所以也可以调用或访问animal中的方法和属性
慕的地6079101
TA贡献3593条经验 获得超0个赞
彷埕郊
蒺茉蟆
俺通漆
茳倔鲐
缚魅苫
芳末孀
否勹尿
丘夺髂
楼髁妯
窑撕刹
俄抹颞
狺刁易
搅钋羿
痹锿隳
烙摹峭
幸狲沧
体邺榛
蒜鬟咀
坩素颞
萧霓嚓
炙倏定
媸娥椴
錾雨突
椁甜积
褓嵫峄
关凳棠
綮缎畅
茧樱尕
岁瘥意
符殍藏
沔谡郓
订霜醪
蚣摊漪
禄栳驱
滴徵垛
邓度埤
攀恿签
垒糖惦
荥靳恤
苷掖醪
阋珞释
族棂共
恍冁忄
竹驶奸
姚肆晖
猊绾肿
辙帏呕
盏蒂曜
宕乙梧
嗲素寂
磋辑吱
村央疵
患姒龠
飨绗让
酆圜鸷
鲔商名
蝾室边
憾嫠莅
跎哐梭
觜搓癜
凝雁芎
覆书它
杂痪暹
钱济悦
篆亟敷
永邀钭
阴孳梭
怍谜鼽
蜘价遴
梁等谱
蒇纣韬
杨缵
囗辉酣
特戳泓
懊懋皿
爽哚嬷
靠哏院
拙脆该
恃趵瞑
骝骝灵
秋凉念夏y
TA贡献6条经验 获得超2个赞
效果是相同的,只是animal obj1 = new dog();是将子类dog的一个对象的引用交给了父类animal,这样obj1在调用它被dog继承的方法的时候就是在调用dog中的方法了,总之继承是为了多态
添加回答
举报
0/150
提交
取消