在使用ArrayList时如何使用超类方法?

0yycz8jy  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(385)

我创建了一个子类的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));
...
gev0vcfq

gev0vcfq1#

当你扩展一个类时,你继承了它的公共方法,就像你的例子一样。现在可以直接在子类对象上调用这些方法。
如果((mycourse.getcoursename(i).equals(coursen)),则试图从arraylist获取错误;取而代之的应该是((mycourse.get(i).getcoursename(i).equals(coursen));
对于mycourse.get(i),首先从调用getcoursename(i)的列表中获取子类对象。

相关问题