有抽象类和类的关系如图,按要求完成程序:

有抽象类和类的关系如图,按要求完成程序:
(1)根据关系图完成抽象类People和子类Student的定义。抽象类People中有抽象方法print;在子类中新增工号number,在构造方法中调用父类构造方法,并为新属性赋值;实现print方法用于按格式输出信息。
(2)定义Test类,在main方法中用户通过键盘输入数据,根据输入数据创建Student类的对象(自己的姓名,学号,年龄),调用print方法输出学生信息。

public abstract class People {
    private String name;
    private int age;
    public People(String name,int age){
        this.name=name;
        this.age=age;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    abstract void print();
}


public class Student  extends People{
    private String number;
    public Student(String number,String name,int age){
        super(name,age);
        this.number=number;
    }
    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    @Override
    void print() {
        System.out.println("[姓名:"+this.getName()+"-学号:"+this.getNumber()+"-年龄:"+this.getAge()+"]");
    }


}


public class TestProple {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入姓名");
        String name=sc.next();
        System.out.println("请输入年龄");

        int age=sc.nextInt();
        System.out.println("请输入学号");

        String number=sc.next();

        Student student=new Student(number,name,age);
        student.print();
    }
}