Java 抽象类的数组列表?

Java 抽象类的数组列表?,java,Java,我想知道如何创建扩展某些抽象类的类的数组列表。假设我有一个抽象类: abstract class Product{ } 以及一些扩展它的类: public class Toy extends Product{ } public class TV extends Product{ } 我想实现一个扩展抽象类Product的类列表。我该怎么做呢?这就是你要找的吗 List<? extends Product> list List这就是你要找的吗 List<? extends

我想知道如何创建扩展某些抽象类的类的数组列表。假设我有一个抽象类:

abstract class Product{
}
以及一些扩展它的类:

public class Toy extends Product{
}

public class TV extends Product{
}

我想实现一个扩展抽象类
Product
的类列表。我该怎么做呢?

这就是你要找的吗

List<? extends Product> list

List这就是你要找的吗

List<? extends Product> list
List您需要:

final List<Product> list = new ArrayList<>();
因为
list.add
将是一个编译错误。

您需要:

final List<Product> list = new ArrayList<>();

因为
list.add
将是一个编译错误。

你能澄清一个类的数组列表吗?我想要一个能存储多个产品的数组。除非你有一些试图覆盖的特定方法,否则TV和Toy更像是一个产品的实例,而不是必须是类。你能澄清一个类的数组列表吗?我想有一个数组来存储多个产品。除非你有一些特定的方法试图覆盖,否则电视和玩具更像是一个产品的实例,而不是必须是类。没错!非常感谢@uksz
列表
在任何情况下都会起作用-
?在这种情况下,不需要扩展。这仅在接收特定类型的
列表的方法中是必需的?扩展在这种情况下很可能有害。这取决于用例。它也可以实现为泛型的
,这比@Boristespider建议的
列表更好,或者仅仅是
列表
。@SergheyBishyr这两个示例都是针对
列表
列表
,而您不知道自己有哪些。在这种情况下,这肯定是错误的方法,因为OP想要一个
列表
,而这个列表可以同时包含
玩具
电视
!非常感谢@uksz
列表
在任何情况下都会起作用-
?在这种情况下,不需要扩展。这仅在接收特定类型的
列表的方法中是必需的?扩展在这种情况下很可能有害。这取决于用例。它也可以实现为泛型的
,这比@Boristespider建议的
列表更好,或者仅仅是
列表
。@SergheyBishyr这两个示例都是针对
列表
列表
,而您不知道自己有哪些。在这种情况下,这肯定是错误的方法,因为OP想要一个
列表
,而该列表可以同时包含
玩具
电视