Обратите внимание, instanceof имеет значение true, если объект является типом, присваиваемым
класс указан. Следующее (как описано выше) будет работать
if (o instanceof Cat.class) {
// ..
} else if (o instanceof Dog.class) {
// ..
} else {
throw IllegalArgumentException("Unexpected type");
}
Однако, если вы введете новый подкласс cat, например, Тигр тогда
первый пункт выше будет срабатывать, если вы не обновили весь код
что сделал это
Возможно, вы захотите найти двойную отправку для поиска потенциального способа
необходимость сделать выше, конечно, не зная проблемы, вы
попытка решить эту проблему может быть неприменима.