Как настроить класс List для работы с наследованием?

  • 18 августа 2023 г. 11:56
Ответы на вопрос 1
Если вы пытаетесь создать список типа `List<интерфейс>` и добавить в него объект класса реализации, то возникают проблемы, потому что тип `List<интерфейс>` не является совместимым с типом `List<класс_реализации>`. 

Для решения этой проблемы вы можете использовать механизм вариантности в Java.

Для этого вам нужно добавить ключевое слово `extends` при использовании интерфейса в определении класса List. Например:

```java
List<? extends интерфейс> myList = new ArrayList<класс_реализации>();
```

В этом случае `myList` будет являться списком типа `интерфейс` и позволит вам добавлять только объекты классов, реализующих данный интерфейс.
Похожие вопросы