我创建了一个子类的arraylist,但不知道如何使用超类的方法。我想我应该投但做不到。
所以我有这些超类和子类。
public class Course extends Item {
private String courseCode;
DayTime dayTime;
Lecturer lecturer;
public Course(String name, String code) {
setCourseName(name);
setCourseCode(code);
}
}
public class Item {
private String courseName;
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
}
我尝试创建一个arraylist类型的course,并使用getcoursename与另一个字符串进行比较。我有一个错误,可能是因为mycourse arraylist是course类型,getcoursename方法在item超类中。
String CourseN=input.nextLine();
for(int i=0;i<myCourse.size();i++) {
if(( myCourse.getCourseName(i).equals(CourseN));
...
1条答案
按热度按时间gev0vcfq1#
当你扩展一个类时,你继承了它的公共方法,就像你的例子一样。现在可以直接在子类对象上调用这些方法。
如果((mycourse.getcoursename(i).equals(coursen)),则试图从arraylist获取错误;取而代之的应该是((mycourse.get(i).getcoursename(i).equals(coursen));
对于mycourse.get(i),首先从调用getcoursename(i)的列表中获取子类对象。