有像如何从基础通用类继承
基genric类,我发现我可以使用
ClassDerived extends ClassBase
或
ClassDerived<T> extends Classbase<T>
所以基本上这意味着我可以删除泛型在派生类中,是吗?
有像如何从基础通用类继承
基genric类,我发现我可以使用
ClassDerived extends ClassBase
或
ClassDerived<T> extends Classbase<T>
所以基本上这意味着我可以删除泛型在派生类中,是吗?
由于所有泛型类型信息都在编译过程中被擦除,所以当然可以这样做。但是,除非警告被关闭或禁止,否则大多数编译器会生成警告。例如,如果我编写class Foo extends HashMap {}
,Eclipse报告:“HashMap是原始类型,对泛型类型HashMap的引用应该参数化”
您可以扩展泛型类的原始版本,这是正确的。当然你的第二个例子:
ClassDerived<T> extends Classbase
......实际上重新引入了一个类型参数。