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

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

無法進行類型轉換

public static void main(String[] args) {

// TODO Auto-generated method stub

// Animal obj1 = new Animal();

// Animal obj2 = new Dog();

// Animal obj3 = new Cat();

// //Dog obj3 = new Animal();出錯,不能用子類的引用指向父類的對象

// obj1.eat();

// obj2.eat();

// obj3.eat();

//obj2.bite();//出錯,父類引用指向的子類對象只能調用重寫和繼承的方法,不能引用子類獨有的方法

Dog dog = new Dog();

Animal animal = dog;//自動類型提升? 向上類型轉換

Dog dog2 = (Dog)animal;

Cat cat = new Cat();

if(animal instanceof Cat){

Cat cat2 = (Cat)animal;//因為最初創建的空間為Dog類型的空,故無法在其中實現Cat類型的轉換

}else{

System.out.println("無法進行類型轉換");

}

}

但是我在老師得代碼中又新建了一個Cat類型的空間,為什么還是無法進行轉換

正在回答

2 回答

animal 沒有指向 cat。。所以 animal instanceof Cat? 還是 false,所以無法進行轉換

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

霸氣小肆毛

創建的Cat型并沒有改變animal指向Dog類型的這個問題,所以結果還是無法進行轉換
2019-02-21 回復 有任何疑惑可以回復我~

老師只是講了一種避免類型轉換的安全性問題,的判斷

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

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531143    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

無法進行類型轉換

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

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

幫助反饋 APP下載

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

公眾號

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