创建子类对象的ArrayList

时间:2017-03-10 16:54:09

标签: arraylist subclass superclass

我有一个超类Appointment,然后扩展到几种不同类型的约会。我需要制作一个不同类型约会的ArrayList,我认为这不会是一个大问题,因为它们共享一个共同的超类 - Appointment。但是,当我尝试将其中一个子类Daily添加到ArrayList<Appointment> book = new ArrayList<Appointment>()时,它无法执行此操作。

我有:

ArrayList<Appointment> book = new ArrayList<Appointment>()

然后在程序中(我将描述的方式,日期,月份和年份放在它所放置的方法中):

book.add(new Daily(description, day, month, year));

我得到的建议是:类型ArrayList中的方法add(AppointmentBook.Appointment)不适用于参数(Daily)

1 个答案:

答案 0 :(得分:2)

将您的代码从ArrayList<Appointment>更改为ArrayList<? extends Appointment>