判斷父類對(duì)象類型
之所以強(qiáng)制轉(zhuǎn)換可能會(huì)導(dǎo)致程序無法運(yùn)行的原因是,子類與父類的對(duì)象類型不一致,一個(gè)是cat,一個(gè)是dog,那我們是怎么知道父類是dog的?如何判斷。(人為判斷,不是使用instanceof)!
之所以強(qiáng)制轉(zhuǎn)換可能會(huì)導(dǎo)致程序無法運(yùn)行的原因是,子類與父類的對(duì)象類型不一致,一個(gè)是cat,一個(gè)是dog,那我們是怎么知道父類是dog的?如何判斷。(人為判斷,不是使用instanceof)!
2015-08-25
舉報(bào)
2015-11-07
看看引用的改變:
????如Animal a = new Dog();//此時(shí)將Dog類給Animal的引用a
????????Dog d = (Dog)a;//將a的引用強(qiáng)制轉(zhuǎn)為Dog類型,賦給Dog引用。
????????a = new Cat();//此時(shí)將Cat類給Animal的引用a
????????Dog dog = (Cat)a;//強(qiáng)制將Cat的引用a給Dog類的引用dog。(編譯不會(huì)報(bào)錯(cuò),但是Cat類和Dog類之間沒聯(lián)系,因此運(yùn)行時(shí)會(huì)出現(xiàn)報(bào)錯(cuò):ClassCastExcepting)。
從右往左讀就好;類似于看賦值語句,,只是這里給的是引用
2015-08-25
人為判斷。。。,看看源碼不就完了,不知道你想說什么