相关疑难解决方法(0)

扩展通用抽象类和正确使用超级

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.这似乎打败了仿制药的目的......

救命?

java generics super

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

generics ×1

java ×1

super ×1