有像如何從基礎通用類繼承
基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
......實際上重新引入了一個類型參數。