这个编程什么思路,怎么做

img


数组,父类,子类都创建了,测试也写了,然后怎么办。数组,父类,子类都创建了,测试也写了,然后怎么办。数组,父类,子类都创建了,测试也写了,然后怎么办

参考如下:

public class Main {

    public static void main(String[] args) {
        Animal[] animals = new Animal[4];
        animals[0] = new Dog("Jim");
        animals[1] = new Cat("Tom");
        animals[2] = new Dog("Rose");
        animals[3] = new Cat("Peter");
        System.out.println("狗的数量:" + getAllDog(animals));
    }

    private static int getAllDog(Animal[] animals) {
        int count = 0;
        for (Animal animal : animals) {
            if (animal instanceof Dog)
                count++;
        }
        return count;
    }

}

class Animal {
    String name;

    public Animal(String name) {
        this.name = name;
    }
}

class Dog extends Animal {

    public Dog(String name) {
        super(name);
    }
}

class Cat extends Animal {

    public Cat(String name) {
        super(name);
    }
}

先定义animal类,有两个成员,动物类型和动物名称;然后定义dog/cat类继承自animal,在构造方法中将类型赋为对应的动物,名称需要传入。

这样getalldog,传入数组,进行遍历,找到类型为dog的就可以。