If I have an abstract class like this:
public abstract class Item
{
private Integer value;
public Item()
{
value=new Integer(0);
}
It's impossible to use T to call a constructor because if it would be possible than after a compilation you would get the code like this:
public class Box{
Object item;
public Box(){
item = new Object();
}
}
So if you would use this code and pass some object than you expect that there is the constructor of some specific type is called, but instead you get the Object constructor.