我有一个
public abstract class Person{/*..*/}
public class Woman extends Person{/*..*/}
public class Man extends Person{/*..*/}
我正在尝试实例化一个可以包含男人或女人的列表,我尝试了这个:
List<? extends Person> PersonTypes = new List<? extends Person>()
但它无法实例化,有没有办法实现我想要的并保持 Person 抽象?
最佳答案
List 是一个接口(interface),因此无法实例化本身,类似于也无法实例化的抽象 Person 类。
你应该实例化一个实现List的类,例如ArrayList:
List<Person> people = new ArrayList<Person>();
关于java List 扩展了抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22018385/