List is declared as an abstract interface , not a class. If your class implements a List, you are expected to provide implementations for all of the abstract List methods. If you don’t, you will get errors like: – The type MyList must implement the inherited abstract method.