代码块
//this is superclass
public class Employee {
private String name;
private double salary;
public Employee(String name,double salary){
this.name = name;
this.salary = salary;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
}
//this is subclass
public class Manager extends Employee{
private double bonus;
public void setBonus(double d){
this.bonus = d;
}
public Manager(String name,double salary) {
//super(name,salary);
super.getSalary() = salary;//The left-hand side of an assignment must be a variable
bonus = 0;
}
public double getSal(){
double baseSalary = getSalary();
return baseSalary + bonus;
}
}
出错原因:等号左边必须是一个变量,如salary = super.getSalary() ;
而super.getSalary() = salary; 中 super.getSalary()是一个值,一个常量。
本文通过一个具体的Java代码示例,详细解析了超类与子类之间的继承关系,并指出了构造函数及方法调用中常见的错误。特别强调了赋值操作的正确使用方式。
2万+

被折叠的 条评论
为什么被折叠?



