Java 列表<;?扩展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(){}

我有4个类(B、C、D、E),它们扩展了一个类(A),我试图创建一个泛型
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){}
    }