-1
4

1 回答 1

2

我认为您正在寻找的是通用的Zoo. 这样,您可以将通用逻辑移至基类,同时让子类知道它们正在使用什么类型:

public static class Zoo<A extends Animal> {
    public List<A> m_animals;

    public void add(A animal) {
        m_animals.add(animal);
    }
}

public static class CatZoo extends Zoo<Cat> {
    public void meow() {
        for (Cat cat : m_animals)
            cat.meow();
    }
}
于 2021-09-01T22:39:31.230 回答