亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

判斷父類對象類型

之所以強制轉換可能會導致程序無法運行的原因是,子類與父類的對象類型不一致,一個是cat,一個是dog,那我們是怎么知道父類是dog的?如何判斷。(人為判斷,不是使用instanceof)!

正在回答

2 回答

看看引用的改變:

????如Animal a = new Dog();//此時將Dog類給Animal的引用a

????????Dog d = (Dog)a;//將a的引用強制轉為Dog類型,賦給Dog引用。

????????a = new Cat();//此時將Cat類給Animal的引用a

????????Dog dog = (Cat)a;//強制將Cat的引用a給Dog類的引用dog。(編譯不會報錯,但是Cat類和Dog類之間沒聯系,因此運行時會出現報錯:ClassCastExcepting)。

從右往左讀就好;類似于看賦值語句,,只是這里給的是引用

0 回復 有任何疑惑可以回復我~

人為判斷。。。,看看源碼不就完了,不知道你想說什么

0 回復 有任何疑惑可以回復我~
#1

亂步 提問者

問的就是源碼怎么看出來,又沒寫對象類型,又不是數據類型這種直觀的
2015-08-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

判斷父類對象類型

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號