java代码内容问题 求

4. 编写两个程序文件Student.java和ComputeStudent.java,实现类的继承。

Student.java的代码如下:

public class Student {
    protected String name; // 姓名
    protected int s_no; // 学号

    void setdata(String m, int h) {// 该方法为姓名和学号赋初始值
        name = m;
        s_no = h;
    }

    public void print() {// 输出学生的姓名和学号
        System.out.println(name + ", " + s_no);
    }
}

编译 Student.java,产生类文件 Student.class。注意:暂时不运行程序Student.class。

编写一个类ComputeStudent.java。程序功能如下:

1.类ComputeStudent继承类Student,其不仅具有父类的成员变量name(姓名)、s_no(学号),还定义了新的成员变量 academy(学院)、faculty(系)。

2.在子类ComputeStudent中重写了父类的方法print(),在该方法中输出学生的姓名、学号、学院和系。

3.在子类ComputeStudent中定义主方法main。首先,在主方法中创建一个父类 Student的对象f,设置f的姓名为"张三",学号为"12321",并且调用print()方法输出对象f的姓名和学号。然后,在主方法中创建一个子类 ComputeStudent的对象s,设置s的姓名为"李四",学号为"12345",学院为"大数据学院",系为"信息管理系",并且调用print()方法输出对象s的姓名,学号,学院和系。

编译并运行程序ComputeStudent.java。


public class ComputeStudent extends Student {

    protected String academy;
    
    protected String faculty;

    void setdata(String m, int h,String a,String f) {
        name = m;
        s_no = h;
        academy=a;
        faculty=f;
    }

    @Override
    public void print() {
        System.out.println(name + ", " + s_no+ ", " + academy+ ", " + faculty);
    }
    
    public static void main(String[] args){
        Student f=new Student();
        f.setdata("张三",12321);
        f.print();
        ComputeStudent s=new ComputeStudent();
        s.setdata("李四",12345,"大数据学院","信息管理系");
        s.print();
    }
}

请看一下是否符合要求