I think he's asking: why does ArrayList explicitely implement the List interface if the List interface is already implicitly inherited when AbstractList is extended?