设计一个新生登记程序(StudentTester.java),除了测试类,还包括系部(Department)和学生(Student)两个类,类图见附件(class diagram.png)。要求:(1)按照类图在同一个源文件(StudentTester.java)中编写这两个类;(2)Department类在实例化的时候会自动将其内部的students集合按照高考成绩(score)从高到低排序(提示:Student类需要实现Comparable接口);(3)执行以下测试代码(可复制)得到如图(result.png)一样的运行结果。public class StudentTester { public static void main(String[] args){ ArrayList<Student> list=new ArrayList<>(); list.add(new Student("Z09320101","付洪超",341)); list.add(new Student("Z09320102","包凯哥",338)); list.add(new Student("Z09320103","钱瑞龙",349)); list.add(new Student("Z09320104","王世伟",342)); list.add(new Student("Z09320105","刘晨",333)); Department depart=new Department(12,"计算机科学与工程学院",list); System.out.println(depart.toString()); depart.listStudents(); }}