我们有以下代码:
class MyClass<T>{
...
}
class MyExtendedClass extends MyClass<T>{//Compile error
...
}
我试图创建非泛型类,它是泛型类的子类型。为什么禁止它?
答案 0 :(得分:6)
你应该在那里放一个具体的课程:
class MyExtendedClass extends MyClass<String>
或者在您的子类中添加泛型类
class MyExtendedClass<T> extends MyClass<T>
现在使用它的方式,当您声明T
的实例时,您期望MyExtendedClass
的类型如下:
MyExtendedClass x = new MyExtendedClass();
在这种情况下,没有办法告诉T
应该是什么!