gpt4 book ai didi

java - 包含扩展类的抽象类列表

转载 作者:行者123 更新时间:2023-12-01 22:45:03 26 4
gpt4 key购买 nike

所以我的问题是这样的。我正在使用java,我正在尝试做这样的事情(我正在离线工作,所以我很难给出代码示例,但如果需要的话我会的):

Class A - abstract class
Class B - abstract class with list<A> as property
Class C - extends class A
Class D - extends class B

在这个类中,在构造函数中,我尝试使用类 C 中的新对象创建 B 属性中的列表。

The error is:  Type mismatch: cannot convert from C to A.

我似乎无法让它发挥作用。有什么想法吗?

编辑:

abstract public class A {
public int theInt;
}

abstract public class B {
public List<A> theList;
}

abstract public class C extends A {
}

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

这是代码,我有一个像我提到的编译错误。

最佳答案

初始化为

List<A> list= new ArrayList<A>();

这样你就可以添加 A 的任何子类型

<小时/>

如果你想分配ArrayList<C>正如评论中所示

这样做

list.AddAll(arrayListC);

关于java - 包含扩展类的抽象类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25486859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com