有无java解决问题的办法求解

某公司的技术人员的月薪薪资标准为基本工资+等级工资;基本工资4000元,等级工资为等级*200。
提示:①声明技术人员的父类Worker类,包含成员变量姓名和基本工资,成员方法SetPay()。
②声明Worker类的继承类GradeWorker,GradeWorker类新增成员变量为该技术人员的等级,成员方法为重写成员方法SetPay()
③声明测试类Test,要求根据输入的技术人员姓名和级别输出该技术人员的月薪资标准。


public class Worker {
  private String name;
  private int num;

  public void SetPay() {
  this.num = 4000;
 }
}

public class GradeWorker extends Worker {
  private int level;

  @Override
 public void SetPay() {
  num = num + level * 200;
 }
}

public class Test {
  String name = "张三";
  int level = 2;
  GradeWorker woker = new GradeWorker();
  int num = woker.setPay();
  System.out.println(num);
}

import java.math.BigDecimal;

public class Worker {
    private String name;
    private BigDecimal salary;

    public void setPay(){

    }

    public String getName() {
        return name;
    }

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

    public BigDecimal getSalary() {
        return salary;
    }

    public void setSalary(BigDecimal salary) {
        this.salary = salary;
    }
}
public class GradeWorker extends Worker{

    private int level;

    public void setPay(){
        setSalary(new BigDecimal(4000 + level * 200));
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }
}


public class Test {
    public static void main(String[] args) {
        GradeWorker gw = new GradeWorker();
        gw.setName("张三");
        gw.setLevel(5);
        gw.setPay();
        System.out.println("该技术人员的月薪资标准: " + gw.getSalary());
    }
}


如果对你有帮助,请采纳一下哈!!!