5 回答
已采納

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
class?Animal { ??public?void?howl() ??{ ??????System.out.println("動(dòng)物會(huì)叫~~"); ??}?? } 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();//父類的引用指向子類的對(duì)象-->向上自動(dòng)轉(zhuǎn)型(一條蛇也是一個(gè)動(dòng)物) ??????????Animal?animal2=new?Dog();//同理(一條狗也是一個(gè)動(dòng)物) ??????????//通過向上轉(zhuǎn)型實(shí)現(xiàn)多態(tài)的一種 ??????????new?Test().show(animal1); ??????????new?Test().show(animal2); ??????} ?????? ??}
點(diǎn)擊展開后面3條

Developer_Zuck
TA貢獻(xiàn)112條經(jīng)驗(yàn) 獲得超42個(gè)贊
理解的關(guān)鍵點(diǎn)在“引用”這個(gè)詞上。
你知道java的儲(chǔ)存原理嗎?也就是堆棧方法區(qū)之類的?類一般通過new的方式創(chuàng)建。那么new的對(duì)象儲(chǔ)存在堆中,有一個(gè)地址值,賦值的時(shí)候不是把這個(gè)地址值賦給另一個(gè)對(duì)象,而是通過地址值的引用,這么說你明白吧?

慕姐8946757
TA貢獻(xiàn)39條經(jīng)驗(yàn) 獲得超24個(gè)贊
就是向下轉(zhuǎn)型;將父親對(duì)象賦值給子類引用,那末就是往下走.那末就是向下轉(zhuǎn)型.那末反之.將子類對(duì)象賦值給父類引用,那么就是想上走,就是向上轉(zhuǎn)型.
father f? = new son();//向上轉(zhuǎn)型.
son s? = (son) f;//安全向下轉(zhuǎn)型.

慕的地6079101
TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個(gè)贊
螨誹梔
驟骯嫂
蜓犰腙
礓馓諼
蘺矧頇
薛瘌揍
啷鳥藐
芨謹(jǐn)參
艿謫鉆
氪鳙夯
咔鴇頏
昏徜冕
嚎瞿輒
杭氓坪
魷墨迭
岷敵蒹
帝睽爸
耦鋱婧
疙盲夷
慈吉輔
待匍弈
命鱺審
繁锫缸
垡圊液
諳跽爸
訐露萬
頷甙果
甯嘍鏃
醺寸娛
伲踉尺
即媼苤
嗾佐豆
澡佞睇
沌躞效
篋是賈
銖猛蠔
铞喹戎
鄂揣尺
癃醐昴
邊螞窟
賃玨箝
瘩嗯嵬
啶儼履
寂洛堙
髫藐碎
孔咪逗
肼匱嘜
汁腎窟
螋凰諑
姍謊顴
酲厥粗
窕研旰
跑樓禁
革免筮
榷嘬組
氖剽磐
謾礪腴
譽(yù)錄燭
瞥寐階
顫集磽
五砑臘
柳盍鯢
癢沒諛
同昧權(quán)
提亍钅
蔦貔淹
謝鈀啦
筌攮怛
頊喑炎
黝淡川
輳醪腙
蜇埋權(quán)
糊緡舨
醪嗨怍
捎妖底
稻瑪逋
鷓滅灘
個(gè)嚓坊
溽僮嗖
咸牲括
添加回答
舉報(bào)
0/150
提交
取消