title: Should an interface that is inherited from base-class be implemented explicitly in subclass?
body: <p>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. </p>
  
  <p>For instance, if you want to write a class, that fulfills the contract of the interface <code>java.util.List</code>. You implement this, extending the class <code>java.util.AbstractList</code>, that already implements the interface <code>List</code>. Do you explicitly declare, that you implement List?</p>
  
  <pre><code>public class MyList extends AbstractList implements List
  </code></pre>
  
  <p>Or do you save typing by using the implicit way?</p>
  
  <pre><code>public class MyList extends AbstractList
  </code></pre>
  
  <p>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?</p>