のコンストラクタ呼び出しは、ジェネリック型
public class Pencil extends Item
{
public Pencil()
{
super();
}
public Pencil(Integer value)
{
super(value);
}
}
を、なぜ私はできない私は理解していませんジェネリックを使用してコンストラクタを呼び出します。
public class Box <T extends Item>
{
T item;
public Box()
{
item=new T(); // here I get the error
}
}
コンストラクタを持たない型を持つことは可能ですが、 Pencilはパラメータを持たないコンストラクタを持ち、Itemは抽象型なので不可能です。 しかし、私は日食からこのエラーを受け取ります: はタイプTをinstanciateできませんT
私はなぜ、これを避ける方法がわかりません?
あなたが持っている場合を考えてみましょうこのクラスを除いて 'Item'を拡張する別のクラス少なくとも1つの引数を主張するコンストラクタは1つしかありません。 –
[Javaでジェネリック型をインスタンス化するにはどうすればいいですか?](http://stackoverflow.com/questions/6916346/how-can-i-instantiate-a-generic-type-in-java) –
可能な複製[Javaでジェネリック型のインスタンスを作成する?](http://stackoverflow.com/questions/75175/create-instance-of-generic-type-in-java) –