Java 8: Spliterator, Iterator, Collection and "default" implemenations in Interfaces (Duplicate meth
The whole point of default methods is to avoid the situation you describe. The code below compiles and runs as expected with Java 7 and 8: public class SortedList extends AbstractList implements Serializable { @Override public T get(int index) { return .....