title: Abstract class extends concrete class
body: <p>I earlier learned that abstract class can extend concrete class. Though I don't see the reason for it from JAVA designers, but it is ok.
  I also learned that abstract class that extends concrete class can make overriden methods abstract. Why? Can you provide with use case where it is useful? I am trying to learn design patterns and I do not want to miss anything. </p>
  
  <p>Here is example:</p>
  
  <pre><code>public class Foo 
  {
      public void test()
      {
      }
  }
  
  public abstract class Bar extends Foo
  {
     @Override
     public abstract void test();
  }
  </code></pre>