Java 列表<;?扩展A>;访问扩展类方法
我有4个类(B、C、D、E),它们扩展了一个类(A),我试图创建一个泛型Java 列表<;?扩展A>;访问扩展类方法,java,list,generics,Java,List,Generics,我有4个类(B、C、D、E),它们扩展了一个类(A),我试图创建一个泛型 List有多种可能性: 将方法定义移动到基类(作为抽象方法) 检查混凝土等级的实例,并相应浇铸 在接口中定义方法(一个用于方法x,一个用于方法Y等),并使用“&”符号:List有人发布了上面的代码,然后将其删除 public class Generic<T extends A> { List<T> myList; public List<T> getMyList(){}
List有多种可能性:
将方法定义移动到基类(作为抽象方法)
检查混凝土等级的实例,并相应浇铸
在接口中定义方法(一个用于方法x,一个用于方法Y等),并使用“&”符号:List有人发布了上面的代码,然后将其删除
public class Generic<T extends A> {
List<T> myList;
public List<T> getMyList(){}
public void setList(ArrayList<T> MyList){}
}
公共类泛型{
列出我的清单;
公共列表getMyList(){}
公共void集合列表(ArrayList MyList){}
}
这解决了我的问题,谢谢 你想从哪里访问这些方法?你不能使用polimorphism吗?我的意思是,在A
中使用抽象方法,在子类中重写它们?如果将对象保留在集合中,则应统一对待它们。当然,当你确实需要你想要达到的目标时,会有一些特殊的情况,但是没有任何特殊情况是足够特殊的。更好地考虑您的设计:)我不相信您可以将对象添加到类型为list的列表中
Generic myObject = new myList<B>;
myObject.getMyList().get(counter).getId();
myObject.getMyList().get(counter).getName();
public class Generic<T extends A> {
List<T> myList;
public List<T> getMyList(){}
public void setList(ArrayList<T> MyList){}
}