我有4个类(B,C,D,E)扩展了一个类(A),我正在尝试创建一个通用类
List<? extends A>
添加其中一个类(B,C,D,E)的对象。我可以毫无问题地做到这一点。问题是我无法访问类的方法(B,C,D,E)。还有另一种方法吗?
零件代码
public class A{
protected int id;
public void setId(int id){}
public int getId(){}
}
public class B extends A{
private name;
public void setName(String name){}
public void getName(){}
}
public class Generic{
List<? extends A> myList;
public List<? extends A> getMyList(){}
public void setList(ArrayList<? extends A> MyList){}
}
这就是我的工作。
Generic myObject = new myList<B>;
myObject.getMyList().get(counter).getId();
上面的代码工作正常,我想做什么,但我不能在下面。
myObject.getMyList().get(counter).getName();
答案 0 :(得分:0)
你有多种可能性:
List<? extends A & Y & Z >
(Y和Z是这里的接口)答案 1 :(得分:0)
有人发布了上面的代码然后删除了它。
public class Generic<T extends A> {
List<T> myList;
public List<T> getMyList(){}
public void setList(ArrayList<T> MyList){}
}
这解决了我的问题,谢谢!