JAVA向下转型
向下转型就是让转型后的对象原路返回,这种转型不太安全,所以需要 instanceof 关键字来判断。
public class DemoMain { public static void main(String[] args) { Animal an = new Cat(); an.eat(); //向下转型,遵循原路返回的原则 Cat cc =(Cat)an; cc.eat(); //这里会报错: Exception in thread "main" java.lang.ClassCastException // Dog dd=(Dog)an; // dd.eat(); giveMeAPet(new Cat()); giveMeAPet(new Dog()); } public static void giveMeAPet(Animal an){ if(an instanceof Dog){ an.eat(); } if(an instanceof Cat){ an.eat(); } } }
浙公网安备 33010602011771号