ShMoMo 2018-11-03 09:03 采纳率: 0%
浏览 627

Java子类与继承问题,构造器进不去

 package cn.campsg.java.experiment.entity;

public class Employe {
    private String name;
    private int level;
    private int salary;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getLevel() {
        return level;
    }
    public void setLevel(int level) {
        this.level = level;
    }
    public int getSalary() {
        return salary;
    }
    public void setSalary(int salary) {
        this.salary = salary;
    }
    public Employe() {
        super();
    }
    public Employe(String name, int level, int salary) {
        super();
        this.name = name;
        this.level = level;
        this.salary = salary;
    }
    public void work(){
        System.out.println(this.name+"做好了本职工作!");
    }
}

package cn.campsg.java.experiment.entity;

public class Hrstaff extends Employe {
    public Hrstaff() {
    }
        public Hrstaff(String name){
        new Employe(name,5,5000);
    }
    public void paySalary(Employe em){
        int level = em.getLevel();
        if(level>=1&&level<=5){
            em.setSalary(em.getSalary()+500);
        }
        if(level>=6&&level<=9){
            em.setSalary(em.getSalary()+800);
        }
        if(level>=10&&level<=15){
            em.setSalary(em.getSalary()+1000);
        }
        else if(level>15||level<=0){
            System.out.println("不存在对应的职级,无法发放额外浮动薪水");
        }
    }
}
package cn.campsg.java.experiment;
import cn.campsg.java.experiment.entity.Employe;
import cn.campsg.java.experiment.entity.Hrstaff;
public class MainClass {
    public static void main(String[] args) {
        Employe em1 = new Employe("南帝",11,12000);
        Employe em2 = new Employe("北丐",1,4500);
        Employe em3 = new Employe("中神",10,6300);
        Hrstaff HR = new Hrstaff("HR")
        em1.work();
        em2.work();
        em3.work();
        HR.work();
        System.out.println("HR开始发放工资:");
        HR.paySalary(em1);
        System.out.println("员工"+em1.getName()+"的薪水:"+em1.getSalary());
        HR.paySalary(em2);
        System.out.println("员工"+em2.getName()+"的薪水:"+em2.getSalary());
        HR.paySalary(em3);
        System.out.println("员工"+em3.getName()+"的薪水:"+em3.getSalary());
        HR.paySalary(HR);
        System.out.println("员工"+HR.getName()+"的薪水:"+HR.getSalary());
    }

}

代码中 Hrstaff HR = new Hrstaff("HR");感觉“HR”这个参数没有传进去,怎么改都进不去构造器。求教

  • 写回答

2条回答

  • lkj2016 2018-11-03 11:28
    关注

    public Hrstaff(String name){
    new Employe(name,5,5000);
    }
    super()函数

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器