我有一个
public abstract class Person{/*..*/}
public class Woman extends Person{/*..*/}
public class Man extends Person{/*..*/}
我正在尝试实例化一个可能包含Man或Woman的List,我试过这个:
List<? extends Person> PersonTypes = new List<? extends Person>()
但它无法实例化,是否有办法实现我想要的并保持人物抽象?
答案 0 :(得分:2)
它应该有用。
List<Person> PersonTypes = new ArrayList<Person>()
答案 1 :(得分:2)
List是一个接口,因此无法自己实例化,类似于无法实例化的抽象Person类。
您应该实例化一个实现List的类,例如ArrayList:
List<Person> people = new ArrayList<Person>();
答案 2 :(得分:0)
List也是一个接口,无法实例化。试试这个:
List<? extends Person> PersonTypes = new ArrayList<Person>();