Подскажите пожалуйста как решить задачу через переопределение методов
package com.javarush.task.task12.task1225;
/*
Посетители
*/
public class Solution {
public static void main(String[] args) {
System.out.println(getObjectType(new Cat()));
System.out.println(getObjectType(new Tiger()));
System.out.println(getObjectType(new Lion()));
System.out.println(getObjectType(new Bull()));
System.out.println(getObjectType(new Cow()));
System.out.println(getObjectType(new Animal()));
}
public static String getObjectType(Object o) {
String m = "Животное";
return m;
}
public static class Cat extends Animal //<--Классы наследуются!!
{
}
public static class Tiger extends Cat {
}
public static class Lion extends Cat {
}
public static class Bull extends Animal {
}
public static class Cow extends Animal {
}
public static class Animal {
}
}
Я решил через исключение, что если ни один из классов то вывести Animal.
if (o instanceof Cat) m = "Кот";
if (o instanceof Tiger) m = "Тигр";
if (o instanceof Lion) m = "Лев";
if (o instanceof Bull) m = "Бык";
if (o instanceof Cow) m = "Корова";
//if (o instanceof Animal) m = "Животное";