Учтите это: когда метод имеет в своей подписи, которая возвращает интерфейс (например, Cloneable
), остальная часть кода слышит, что этот метод возвращает класс, который расширяет этот интерфейс, а не интерфейссам по себе.
Список интерфейсов - это просто список объектов классов, которые реализуют этот интерфейс.Каждый из них может быть различным классом, все они должны реализовывать интерфейс, потому что остальная часть кода хочет предположить, что он может вызывать некоторые методы тех элементов, которые доступны в интерфейсе.
Например,a List<Cloneable>
может иметь в качестве элементов a Descriptor
, a AclEntry
, a CharacterIterator
, a CertSelector
.Лично я даже не знаю, кто они, но могу предположить, что могу их клонировать, потому что они Cloneable
!
Надеюсь, я помог!