Какой из классов, кроме Animal, в нашей иерархии точно стоит сделать абстрактным? 
 abstractclassAnimakabstractpublicvoidprint)://...)classMammalextends Animal ( 
 class Reptile extends Animal ‹ 
 public void print(X 
 System.out.printin("I am a Reptile"); 
 I... 
 public class Dog extends Mammal ( 
 public void print(X 
 System.out.printin("I am a Dog"): 
 /I... 
 public class Cat extends Mammal ( 
 public void print(X 
 System.out.printin("I am a Cat"): 
 //...
Другие предметы Колледж Абстракция и наследование в Java программирование на Java абстрактные классы Java иерархия классов Java колледж программирование классы и объекты Java наследование в Java Java для студентов основы Java объектно-ориентированное программирование Java Java абстракция
Ваша иерархия классов включает в себя класс Animal, который уже является абстрактным. Теперь давайте разберемся, какой из других классов следует сделать абстрактным.
Сначала рассмотрим структуру иерархии:
Теперь давайте проанализируем классы Mammal и Reptile. Оба из них наследуются от абстрактного класса Animal, и, вероятно, они представляют собой более общие категории животных.
Следующие шаги помогут нам понять, какой класс следует сделать абстрактным:
Исходя из этого анализа, класс Mammal следует сделать абстрактным, если он имеет какие-либо методы или свойства, которые должны быть реализованы в классах Dog и Cat. Это позволит лучше структурировать код и избежать дублирования.
Таким образом, вы можете сделать класс Mammal абстрактным, добавив перед его объявлением слово abstract. Это будет выглядеть так:
abstract class Mammal extends Animal {
    // Здесь можно добавить абстрактные методы, если необходимо
}
В результате, классы Dog и Cat будут обязаны реализовать все абстрактные методы, определенные в классе Mammal.