無法進行類型轉換
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類型的空間,為什么還是無法進行轉換
2019-02-19
animal 沒有指向 cat。。所以 animal instanceof Cat? 還是 false,所以無法進行轉換
2019-04-01
老師只是講了一種避免類型轉換的安全性問題,的判斷