根据学术机构的要求删除 我无法提供示例
答案 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()。