My question is, if an interface that is implemented implicitly by extending a class that already implements it, should be explicitly implemented by the class, if the class wants to advertise the fact, that it fulfills the contract of that interface.
For instance, if you want to write a class, that fulfills the contract of the interface java.util.List. You implement this, extending the class java.util.AbstractList, that already implements the interface List. Do you explicitly declare, that you implement List?
public class MyList extends AbstractList implements List
Or do you save typing by using the implicit way?
public class MyList extends AbstractList
Which way is considered better style? What reasons do you have to prefer one way or another? In which situations you would prefer way 1 or way 2?