0
public class AClass<X extends AnInterface>{

    public AClass(X x){
    }

}

public class Y implements AnInterface{

}

在调用代码中,如果我有:

public static<X extends AnInterface> void main(String args){

    AnInterface y = new Y();
    AClass a = new AClass<AnInterface>(y);

}

我应该能够在 AClass 的构造函数中使用 X 来让它工作,对吗?我收到错误消息,告诉我 AClass 的构造函数应该是 AnInterface 类型?

编辑改变AClass a = new AClass<AnInterface>(y);

4

2 回答 2

2

您需要告诉 AClass 它期望什么类型。

    public static void main(String args){
        AnInterface y = new Y();
        AClass<AnInterface> a = new AClass<AnInterface>(y);
    }
于 2012-07-11T09:26:01.890 回答
0
public static void main(String[] args) {
    AnInterface y = new Y();
    AClass a = new AClass(y);
}
于 2012-07-11T09:21:30.973 回答