// User program to test Student and GradStudent public class Students { public static void main(String[] args) { Student s; // s can be a Student or GradStudent GradStudent g; s = new Student("George", "Duke", "Music"); // use the constructors that start gpa and hours at 0 g = new GradStudent("George", "Duke", "Music", "English"); s.newClass('A', 3);s.newClass('B', 3);s.newClass('C', 3);s.newClass('A', 3);s.newClass('A', 3);s.newClass('B', 3);s.newClass('F', 3);s.newClass('A', 3); // give s some classes g.newClass('A', 3);g.newClass('B', 3);g.newClass('C', 3);g.newClass('D', 3);g.newClass('C', 3); // give g some classes, note the 'D' should cause an error message System.out.println(s); System.out.println(g); System.out.println("Are s and g the same? " + g.equals(s)); // should be false because s is a Student, not a GradStudent s = new GradStudent("George", "Duke", "Music", "English", 2.75, 12); System.out.println(s); System.out.println("Are s and g the same? " + g.equals(s)); // should be true because s is a GradStudent EducationGradStudent e = new EducationGradStudent("Ruth", "Underwood", "Education", "Music"); e.newClass('B', 3);e.newClass('C', 3);e.newClass('A', 4);e.newClass('B', 4);e.newClass('F', 3);e.newClass('C', 3);e.newClass('A', 3); System.out.println(e); } }