我有一个
public abstract class Person{/*..*/}
public class Woman extends Person{/*..*/}
public class Man extends Person{/*..*/}
我正在尝试实例化一个可能包含男人或女人的列表,我尝试了以下方法:
List<? extends Person> PersonTypes = new List<? extends Person>()
但是它不能被实例化,有没有一种方法可以实现我想要的并保持Person抽象?
最佳答案
List是一个接口,因此本身无法实例化,类似于您也无法实例化的抽象Person类。
您应该实例化一个实现List的类,例如ArrayList:
List<Person> people = new ArrayList<Person>();