public abstract class AbstractTool<AT extends AbstractThing> {
protected ArrayList<AT> ledger;
public AbstractTool() {
ledger = new ArrayList<AT>();
}
public AT getToolAt(int i) {
return ledger.get(i);
}
// More code Which operates on Ledger ...
}
public class Tool<AT extends AbstractThing> extends AbstractTool {
public Tool() {
super();
}
}
我如何正确调用 super 来传递AT
通用的Tool
到 AbstractTool 构造函数?
看来无论我选什么AT
当我宣布Tool
(Say, Tool<Thing>
),我总是得到一个AbstractThing
代替Thing
。这似乎违背了泛型的目的......
Help?
public class Tool<AT extends AbstractThing> extends AbstractTool<AT> {
换句话说,如果您使用泛型扩展或实现某些内容,请记住为它们定义泛型参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)