為甚了第一個(gè)能進(jìn)行轉(zhuǎn)換了 ?第二個(gè)不行了??
?? ?public static void main(String[] args) {
?? ??? ??? ?
?? ??? ?wolf a=new wolf();? //子類
?? ??? ?dog b= a;// 由父類轉(zhuǎn)子類? 自動(dòng)類型提升??? 向上轉(zhuǎn)化
?? ??? ?if(b instanceof wolf) {
?? ??? ? wolf c=(wolf)b; //向下類型轉(zhuǎn)換?? 強(qiáng)制
?? ??? ?}else {
?? ??? ??? ?System.out.println("無法進(jìn)行類型轉(zhuǎn)換en ");
?? ??? ?}
?? ??? ? if(b instanceof cat) { //如果對(duì)象里面有cat類型就進(jìn)行轉(zhuǎn)換
?? ??? ? cat z=(cat)b;
?? ??? ?}else {
?? ??? ??? ?System.out.println("無法進(jìn)行類型轉(zhuǎn)換");
?? ??? ?}
2019-05-11
實(shí)際上兩個(gè)類型的內(nèi)存空間不同,產(chǎn)生了編譯和運(yùn)行不一致,