如何从基类泛型类继承

时间:2011-03-22 03:20:39

标签: java

拥有像ClassBase<T>

这样的基础通用类

我发现我可以使用

ClassDerived extends ClassBase

ClassDerived<T> extends Classbase<T>

所以基本上它意味着我可以删除派生类中的泛型,是吗?

2 个答案:

答案 0 :(得分:2)

由于在编译过程中擦除了所有泛型类型信息,当然您可以这样做。但是,除非关闭或禁止警告,否则大多数编译器都会生成警告。例如,如果我写class Foo extends HashMap {},Eclipse会报告:“HashMap是一个原始类型。应该参数化泛型HashMap的引用”

答案 1 :(得分:1)

您可以扩展泛型类的原始版本,这是正确的。当然是你的第二个例子:

ClassDerived<T> extends Classbase

...实际上重新引入了一个类型参数。