public class ArrayTest03 {
public static void main(String[] args) {
//创建一个数组,这个数组可以存储dog。也能存储cat
Animal[] as=new Animal[4];
//给数组每个元素赋值
dog d1=new dog();
dog d2=new dog();
Cat c1=new Cat();
Cat c2=new Cat();
as[0]=d1;
as[1]=d2;
as[2]=c1;
as[3]=c2;
//需求:遍历数组,取出每个对象,如果是dog就执行eat方法。如果是cat就执行move方法
for (int i=0;i<as.length;i++){
Animal a =as[i];
System.out.println(a);
//强制类型转换
if (a instanceof Cat ){
Cat c=(Cat) a;
c.move();
}else if ( a instanceof dog){
dog d=(dog)a;
d.eat();
}
}
}
}
class Animal{
}
class dog extends Animal{
public void eat(){
System.out.println("dog eat");
}
}
class Cat extends Animal{
public void move(){
System.out.println("cat move");
}
}