title: Calling constructor of a generic type
body: <p>If I have an abstract class like this:</p>
  
  <pre><code>public abstract class Item
  {
      private Integer value;
      public Item()
      {
          value=new Integer(0);
      }
      public Item(Integer value)
      {
          this.value=new Integer();
      }
  }
  </code></pre>
  
  <p>And some classes deriving from Item like this:</p>
  
  <pre><code>public class Pencil extends Item
  {
      public Pencil()
      {
          super();
      }
      public Pencil(Integer value)
      {
          super(value);
      }
  }
  </code></pre>
  
  <p>I have not understood why I can't call the constructor using a generic:</p>
  
  <pre><code>public class Box &lt;T extends Item&gt;
  {
      T item;
      public Box()
      {
          item=new T(); // here I get the error
      }
  }
  </code></pre>
  
  <p>I know that is possible to have a type which hasn't a constructor, but this case is impossible because Pencil has the constructor without parameters, and Item is abstract.
  But I get this error from eclipse:
  <em>cannot instanciate the type T</em><br>
  I don't understand why, and how to avoid this?</p>