Java 包含扩展类的抽象类列表

Java 包含扩展类的抽象类列表,java,Java,所以我的问题是这个。我正在使用java,我正在尝试做类似的事情(我正在脱机工作,因此很难给出代码示例,但如果需要,我会): 我似乎无法让它工作。你知道为什么吗 编辑: 抽象公共类A{ 公共情报; } 抽象公共类B{ 公开名单; } 抽象公共类C扩展了{ } 抽象公共类D扩展了B{ 公共D(){ this.theList=new ArrayList(); } } 这是代码,我有一个我提到的编译错误。将其初始化为 List<A> list= new ArrayList<A>

所以我的问题是这个。我正在使用java,我正在尝试做类似的事情(我正在脱机工作,因此很难给出代码示例,但如果需要,我会):

我似乎无法让它工作。你知道为什么吗

编辑:

抽象公共类A{
公共情报;
}
抽象公共类B{
公开名单;
}
抽象公共类C扩展了{
}
抽象公共类D扩展了B{
公共D(){
this.theList=new ArrayList();
}
}
这是代码,我有一个我提到的编译错误。

将其初始化为

List<A> list= new ArrayList<A>();
将其初始化为

List<A> list= new ArrayList<A>();
将其初始化为

List<A> list= new ArrayList<A>();
将其初始化为

List<A> list= new ArrayList<A>();
ArrayList
不扩展
列表
。因此,任务

this.theList = new ArrayList<C>();
您甚至可以将类型参数添加到
D

abstract public class D<T extends A> extends B<T> {
   public D(){
       this.theList = new ArrayList<T>();
   }
}
ArrayList
不扩展
列表
。因此,任务

this.theList = new ArrayList<C>();
您甚至可以将类型参数添加到
D

abstract public class D<T extends A> extends B<T> {
   public D(){
       this.theList = new ArrayList<T>();
   }
}
ArrayList
不扩展
列表
。因此,任务

this.theList = new ArrayList<C>();
您甚至可以将类型参数添加到
D

abstract public class D<T extends A> extends B<T> {
   public D(){
       this.theList = new ArrayList<T>();
   }
}
ArrayList
不扩展
列表
。因此,任务

this.theList = new ArrayList<C>();
您甚至可以将类型参数添加到
D

abstract public class D<T extends A> extends B<T> {
   public D(){
       this.theList = new ArrayList<T>();
   }
}



在没有看到代码的情况下很难猜测错误的原因。我很难给出代码示例,但如果需要,我会的,我们需要它。如果没有您正在使用的代码添加您正在使用的代码和完整的堆栈跟踪,我们无法知道问题出在哪里。您能否向我们展示引发此错误的构造函数中的代码?并指出哪一行抛出错误?你在哪里工作而你在脱机工作?在没有看到代码的情况下很难猜测错误的原因。我很难给出代码示例,但如果需要,我会是的,我们需要它。如果没有您正在使用的代码添加您正在使用的代码和完整的堆栈跟踪,我们无法知道问题出在哪里。您能否向我们展示引发此错误的构造函数中的代码?并指出哪一行抛出错误?你在哪里工作而你在脱机工作?在没有看到代码的情况下很难猜测错误的原因。我很难给出代码示例,但如果需要,我会是的,我们需要它。如果没有您正在使用的代码添加您正在使用的代码和完整的堆栈跟踪,我们无法知道问题出在哪里。您能否向我们展示引发此错误的构造函数中的代码?并指出哪一行抛出错误?你在哪里工作而你在脱机工作?在没有看到代码的情况下很难猜测错误的原因。我很难给出代码示例,但如果需要,我会是的,我们需要它。如果没有您正在使用的代码添加您正在使用的代码和完整的堆栈跟踪,我们无法知道问题出在哪里。您能否向我们展示引发此错误的构造函数中的代码?并指出哪一行抛出它?您在哪里脱机工作?尝试过,但当我这样做时,我无法将对象添加到列表中,我只能创建它。@user3467713“不能”,如“不编译”或“抛出异常”中所述?@user3467713您可以分配not add(A除外)…使用
super
而不是extendTried with super,编译时仍然会出现相同的错误。无法从ArrayList转换为ArrayList@user3467713您是如何声明它、分配它并添加它的?尝试过了,但当我这样做时,我无法将对象添加到列表中,我只能创建它。@user3467713“不能”,因为在“不编译”或“抛出异常”中?@user3467713您可以分配不添加(A除外)…使用
super
而不是extendTried with super,编译时仍然会出现相同的错误。无法从ArrayList转换为ArrayList@user3467713您是如何声明它、分配它并添加它的?尝试过了,但当我这样做时,我无法将对象添加到列表中,我只能创建它。@user3467713“不能”,因为在“不编译”或“抛出异常”中?@user3467713您可以分配不添加(A除外)…使用
super
而不是extendTried with super,编译时仍然会出现相同的错误。无法从ArrayList转换为ArrayList@user3467713您是如何声明它、分配它并添加它的?尝试过了,但当我这样做时,我无法将对象添加到列表中,我只能创建它。@user3467713“不能”,因为在“不编译”或“抛出异常”中?@user3467713您可以分配不添加(A除外)…使用
super
而不是extendTried with super,编译时仍然会出现相同的错误。无法从ArrayList转换为ArrayList@user3467713您如何声明它、分配它并添加它..?但是如果我希望更多的对象扩展A,并且能够将它们添加到列表中?像E扩展A.@user3467713:编辑了答案。请注意,如果要添加类型为
C
E
的对象,并且
E
不扩展
C
,那么您唯一的选择就是使用
ArrayList
(因为这是
C
E
的最精确的常见超类型).但是如果我想要更多的对象来扩展A,并且能够将它们添加到列表中?像E扩展A.@user3467713:编辑了答案。请注意,如果要添加类型为
C
E
的对象,并且
E
不扩展
C
,那么您唯一的选择就是使用
ArrayList
(因为这是
C
E
的最精确的常见超类型).但是如果我想要更多的对象来扩展A,并且能够将它们添加到列表中?像E扩展A.@user3467713:编辑了答案。请注意,如果要添加类型为
C
E
的对象,并且
E
不扩展
C
,那么您唯一的选择就是使用
ArrayList
(因为这是
C
E最精确的常见超类型)<