title: Why can't we have abstract constructor in java?
body: <p>I was wondering what was the design considerations in java that prevented classes like this?</p>
  
  <pre><code>public abstract class A{
      public abstract A();
  }
  </code></pre>
  
  <p>If we could force implementation of constructors,then we could instantiate abstract classes. But why didn't they? Does this violate OOP design or is it simply not possible?</p>