为什么我们不能扩展泛型类型?

时间:2013-09-28 14:19:06

标签: java generics inheritance

我们有以下代码:

class MyClass<T>{
...
}
class MyExtendedClass extends MyClass<T>{//Compile error
...
}

我试图创建非泛型类,它是泛型类的子类型。为什么禁止它?

1 个答案:

答案 0 :(得分:6)

你应该在那里放一个具体的课程:

class MyExtendedClass extends MyClass<String>

或者在您的子类中添加泛型类

class MyExtendedClass<T> extends MyClass<T>

现在使用它的方式,当您声明T的实例时,您期望MyExtendedClass的类型如下:

MyExtendedClass x = new MyExtendedClass();

在这种情况下,没有办法告诉T应该是什么!