Я пытаюсь передать объект подкласса методу, у которого есть параметр суперкласса, поэтому мне нужно сделать только один из этого метода. У меня есть условные операторы, такие как «if (subclassObject instanceOf CertainSubClass)», поэтому он может сказать, из какого подкласса пришел объект.
Проблема в том, что как только объект передается параметру, программа, кажется, распознает его только как объект суперкласса. Тогда я не могу добавить его в ArrayList типа ArrayList<CertainSubClass>
.
Что именно происходит с объектом подкласса, когда он передается методу с параметром суперкласса? И как я мог обойти эту проблему? Я бы предпочел не делать 3 метода для 3 подклассов, которые у меня есть. Спасибо