【发布时间】:2011-09-05 00:32:33
【问题描述】:
好的,伙计们,这是一个我自己无法完全解决的简单问题。非常感谢任何帮助!
- 假设我有一个抽象类
Superclass,我从中派生出 子类Subclass1和Subclass2。 - 假设我有另一个
myClass类,带有myField字段。我想说明myField的类型应该是Superclass的固定子类的 List,即List<Subclass1>或List<Subclass2>。
我应该如何输入myField? List<Superclass> 不起作用,因为这样的列表理论上可以包含Subclass1 的组合和 Subclass2 对象...我真正在这里寻找的是List<subclass(Superclass)>。那甚至存在吗?你会怎么做呢?
再次感谢您的帮助!
纪尧姆
【问题讨论】:
-
你会在哪里指定它是哪个类型?
-
好吧,如果你只想要
Subclass1类型的类,你必须准确地指定它。请注意,List<Superclass>是不正确的(除非 Superclass 可以自己实例化),如果您想要 Superclass 的所有子类,它应该是List<? extends Superclass>- 但由于这不是您想要的,所以这并不重要..
标签: java list subclass superclass