public abstract class Student implements Comparable { protected String name; protected double[] grades; public Student(String name, double[] grades) { this.name = name; this.grades = grades; } public String getName() { return this.name; } protected double calculate() { double sum = 0; int num = 0; for(double d:grades) { sum += d; num++; } return (sum/num); } public abstract String getGrade(); public int compareTo(Student other) { return this.name.compareTo(other.getName()); } public String toString() { return this.name + "\tGrade:" + getGrade(); } }