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();
}
}
Run Code Online (Sandbox Code Playgroud)
如何正确调用super将AT泛型传递Tool给AbstractTool构造函数?
AT当我宣布Tool(Say,Tool<Thing>)时,似乎无论我选择什么,我总是回来AbstractThing而不是Thing.这似乎打败了仿制药的目的......
救命?
iny*_*iny 19
public class Tool<AT extends AbstractThing> extends AbstractTool<AT> {
Run Code Online (Sandbox Code Playgroud)
换句话说,如果使用泛型扩展或实现某些内容,请记住为它们定义泛型参数.
| 归档时间: |
|
| 查看次数: |
12520 次 |
| 最近记录: |