向上转型,从小范围转向大范围
右边创建一个子类,当做父类看
Animal animal=new Cat();
类似于强制变换
double num=100;//int->double
缺点:一旦向上转型为父类,无法调用子类特有的方法
向下转型,大范围还原成小范围
降父类对象还原成原来的子类对象
Cat cat=(Cat) animal;
注:必须保证对象创建的时候就是“猫”,如果本来是猫,向下转换成了狗,会发生转换异常
Animal animal=new Cat();
animal.eat();
//animal.sleep(); 调用不了
Cat cat=(Cat) animal;
cat.eat();
cat.sleep();
System.out.println("==================");
//原本是猫,转换成狗就会发生转换异常
Dog dog=(Dog)animal;
dog.eat();
转换异常
类似于从大到小的强制转换
int num=(int)10.0;
int num=(int)10.5;//错误,精度损失
网友评论