title: Force every class of an inheritance chain to override an abstract method
body: <p>Suppose I have an inheritance chain where every class extends its superclass by adding a new field and I want every class of that chain to override the <code>toString()</code> method like so:</p>
  
  <pre><code>public String toString()
  {
      return super.toString() + "[newfield=" + newfield + "]";
  }
  </code></pre>
  
  <p>If I use an abstract base class then when a class of the inheritance chain becomes concrete by implementing the abstract method all the subclasses from that point on become concrete as well by inheriting the already implemented method.</p>
  
  <p>Is there a way in Java to force <em>every</em> class to override (reimplement) the abstract method even though it has already been implemented higher in the inheritance chain?</p>