根据以下UML类图编写java代码

  1. 根据以下UML类图编写java代码(40分)
    Teacher类:
    属性:教师姓名name
    方法1:带名字参数的构造方法,将名字参数赋值给类的name属性
    方法2:普通方法teach(),打印输出一行文字:x教师正在讲授java课程。此方法没有返回值。
    Student类:
    属性:学生姓名name
    方法1:带名字参数的构造方法,将名字参数赋值给类的name属性
    方法2:普通方法study(),打印输出一行文字:x同学正在认真学习java课程。此方法没有返回值。
    School类:
    属性:Teacher 类的对象teacher。Student类的对象stu。
    方法1:用来设置teacher属性的方法setTeacher(Teacher t),方法有一个参数t,没有返回值,方法的功能将对象t设置给属性teacher
    方法2:用来设置stu属性的方法setStudent(Student s),方法有一个参数s,没有返回值,方法的功能将对象s设置给属性stu
    方法3:实现开始上课方法startClass(),方法体内需要分别调用属性teacher的教学方法teach()和属性stu的学习方法study()

public class Teacher{
    private String name;
    public Teacher(String name){
        this.name = name;
    }
    public void teach(){
        System.out.println(this.name + "正在上课");
    }
}


public class Student{
    private String name;
    public Student(String name){
        this.name = name;
    }
    public void study(){
        System.out.println(this.name + "正在认真学习Java");
    }
}


public class School{
    private Teacher teacher;
    private Student stu
    public void  setTeacher(Teacher teacher){
        this.teacher = teacher;
    }
    public void setStudent(Student stu){
        this.stu = stu;
    }
    public void startClass(){
        if(teacher != null){
            teacher.teach();
        }
        if(stu != null){
            stu.study();
        }
    }
}