return super.getSalary()+=bonus;你见过这么奇怪的写法么???

解决方案 »

  1.   

    /*double baseSalary=super.getSalary();
        return baseSalary+=bonus;*/
        return super.getSalary()+=bonus;//为什么必须用注释里的,这样不能通过编译?从上面可以看出getSalary()方法是要返回一个值的,如果用下面的
    return super.getSalary()+=bonus;
    它等价于return super.getSalary = super.getSalary + bonus;
    super.getSalary不能做为左值//我自己的一点看法,不知道对不对
      

  2.   

    return super.getSalary()+=bonus;super.getSalary()这里的值已经不存在了
      

  3.   

    super.getSalary()是一个值,比如说3.0
    3.0+=bonus,对象在哪呢?在解析=时 把值给谁呢?
      

  4.   

    getSalary()返回一个double常数,不能用作左值!!return super.getSalary()+=bonus;错误!!