大家帮我看看这个 没有思路

用Java定义一个抽象类Person,有成员变量姓名name抽象方法 Disp()用于显示各种描述的信息。由Person派生出学生类Student和教授类Professor,Student类新增成员变量学号sno,Disp()方法输出学生的姓名和学号,Professor类新增成员变量工资salary Disp()方法输出教授的姓名和工资。在主类的main()中通过抽象类Person的上转型对象调用Disp()来分别输出学生和教授的信息。

支持一下,加油加油

纯语法的东西要什么思路。
抽象类Person:

img

有成员变量姓名name:

img

抽象方法 Disp():

img

....
全是按要求根据语法写的东西

最后一步

在主类的main()中通过抽象类Person的上转型对象调用Disp()来分别输出学生和教授的信息。

这里只需要分别实例化学生类和教授类,调用Disp() 方法即可,不存在什么强转都是Person类的子类。

ps:方法名规范是小驼峰


package test2;

import java.math.BigDecimal;

public class AbstractTest {
}

abstract class Person {
    public String name;

    public abstract void Disp();

    public static void main(String[] args) {
        Person student = new Student(1L,"小明");
        student.Disp();
        Person professor = new Professor(new BigDecimal(10000),"韦东奕副教授");
        professor.Disp();
    }
}

class Student extends Person{
    private Long sno;

    public Student(Long sno,String name) {
        this.sno = sno;
        this.name = name;
    }

    @Override
    public void Disp() {
        System.out.println("学生信息:姓名:" + this.name + ",学号:" + this.sno);
    }
}
class Professor extends Person{
    private BigDecimal salary;

    public Professor(BigDecimal salary,String name) {
        this.salary = salary;
        this.name = name;
    }

    @Override
    public void Disp() {
        System.out.println("教授信息:姓名:" + this.name + ",工资:" + this.salary);
    }
}