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