向上转型:子类转型成父类。即从一个专用类型向通用类型转换,往往是安全的。
向下转型:父类向子类转,不安全。需要instanceof判断(返回值布尔类型)
instanceof用法:result=object instanceof class
说明:如果objcet是class或class子类的一个实例,返回true。否则返回false
false例子:
class Animal{
public void eat(){
};
}
class Dog extends Animal{
public void eat(){
System.out.println("狗吃骨头");
}
}
class Cat extends Animal{
public void eat(){
System.out.println("猫吃鱼");
}
}
public class Demo1 {
public static void main(String[] args) {
Animal an1 = new Dog();
an1.eat();
Animal an2 = new Cat();
an2.eat();
if( an1 instanceof Cat){
System.out.println("aaa");
Cat cat= (Cat) an1;
cat.eat();
}
}
}
true例子:
if( an2 instanceof Cat){
System.out.println("aaa");
Cat cat= (Cat) an2;
cat.eat();
}