为了账号安全,请及时绑定邮箱和手机立即绑定

求解,大神

public abstract class Employee{

    private String name;

    public Employee (String name){

    this.name=new String(name);

}

    public String getName(){

        return name;

}

    public abstract double enrning();

}

public final calss Boss extends Employee{

    private double weeeklySalary;

public Boss(String name,double weeklySalary){

    super(name);

    setWeeklySalary(WeeklySalary);

}

public void setWeeklySalary(double WeeklySalary){

if(WeeklySalary<0) this.WeeklySalary=0;

else this.WeeklySalary=WeeklySalary;

}

public double earnings(){

    return WeeklySalary;

}

public String toString(){

    return"Boss"+getName()+"每周挣"+WeeklySalary+"元";

}

}

父类中的 this.name=new String(name);

子类中的 super(name);分别是什么意思?


正在回答

3 回答

this.name=new String(name);这句话等于this.name=name;就是将name赋值给成员变量name,super(name)意思就是在子类构造方法中调用父类构造方法,如果你不写,可能会出错,一般情况下会默认super(),没有参数的情况下

0 回复 有任何疑惑可以回复我~

不理解

0 回复 有任何疑惑可以回复我~

this.name = new String(name) 

重新開啟一個記憶體空間存放name 的資訊

super(name)

父類的name拿來使用

我想因該是這樣吧,但因該不用new String(name)吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       529993    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

求解,大神

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信