Java print();使用来自不同类的getter的方法

时间:2016-06-28 13:25:31

标签: java arrays arraylist getter-setter

根据学术机构的要求删除 我无法提供示例

2 个答案:

答案 0 :(得分:0)

这是重要的错误消息。

  

无法对非静态方法进行静态引用   getStudentID();来自学生类型。

您需要在类的实例上调用getStudentID(),而不是类本身。你可以尝试这样的事情。

public static void print_all() {

    System.out.println("Student ID\tRecent Grades\tName\t\tE-Mail\t\t\tAge");
    for (Student w : studentlist) {
        System.out.print(w.getStudentID() + "\t\t");
        System.out.print(w.getGrades() + "\t");
        System.out.print(w.getFirstname()+ " ");
        System.out.print(w.getLastname()+ "\t");
        System.out.print(w.getEmail()+ "\t");
        System.out.print(w.getAge()+ "\t");
        System.out.println(" ");
    }
}

只有当所有学生都有静态(共享)ID时,才能调用Student.getStudentID()。这不是这种情况。您可以查看this post以获取有关java中static关键字的更完整说明。

答案 1 :(得分:0)

错误说明了一切。方法getStudentID()是Student类的非静态方法。调用Student.getStudentID()是静态调用,因此是错误。在Student的实例上调用方法getStudentID()。