Избыточная реализация интерфейса List в ArrayList.java [дубликат]

Возможный дубликат:

Почему ArrayList имеет «реализует список »?

Я новичок в Java, я пытался увидеть иерархию интерфейса коллекции. Я обнаружил, что подписьAbstractList.java как

public abstract class AbstractList extends AbstractCollection implements List

Он реализует интерфейс списка. Но если вы посмотрите на подпись дочернего класса ArrayList.java, он выглядит

public class ArrayList extends AbstractList   implements List, RandomAccess, Cloneable, java.io.Serializable

Если вы посмотрите, что родительский класс уже реализован интерфейс List, то почему дочерний класс снова реализует тот же интерфейс (Список).

Есть ли конкретная причина или требование за этим

Ответы на вопрос(3)

Ваш ответ на вопрос