Изменения
Generics
,→Проблемы реализации Generics
List<Circle> l; draw(l); // '''Ошибка'''
Проблема в том, что у нас не получиться получится из-за несовместимости типов.
Предложенное решение используется, если метод который нужно реализовать использовал бы определенный тип и его подтипов. Так называемое "Ограничение сверху". Для этого нужно вместо <Shape> прописать <? extends Shape>.