我正在做面向对象编程的家庭作业,我卡在某处。我们基本上被告知要做一个电话簿。它有一个PhoneNumber类,它扩展了ContactInfo类。还有一个PhoneBookEntry类,它包含ContactInfo对象的ArrayList。
在PhoneBookEntry类中,必须有一个名为displayPhoneNumbers()的方法。家庭作业说:
displayPhoneNumbers():打印contactInfos中的所有PhoneNumbers。
那么,要显示一个电话号码,我必须能够访问PhoneNumber对象,但我在PhoneBookEntry类中拥有的只是一个ContactInfo对象的列表,其中没有电话号码。
public class PhoneBookEntry {
private String name;
ArrayList<ContactInfo> contactInfos;
public PhoneBookEntry(){
contactInfos = new ArrayList<>();
}
public void displayPhoneNumbers(){
for (int i = 0; i <= contactInfos.size(); i++) {
//Error
System.out.println(contactInfos.get(i).getNumber());
}
}
}
public abstract class ContactInfo {
String contactName;
public ContactInfo(String contactName){
this.contactName=contactName;
}
abstract void displayContact();
}
由于ContactInfo类没有getNumber()方法,因此无法访问和打印它。我在这里遗漏了什么或者作业有问题吗?