Ты можешь сделать метод eat(Animal a), в теле этого метода вызывать какой-то метод класса Anima к примеру abc(). И потом ты можешь работать и передать в данный метод наследников и Dog d и Cat c - eat(c), eat (d) и все они будут работать корректно, потому что все они наследники Animal и у них есть этот метод abc()