java List扩展了abstract

时间:2014-02-25 15:15:01

标签: java list abstract extends

我有一个

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>()

但它无法实例化,是否有办法实现我想要的并保持人物抽象?

3 个答案:

答案 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>();