不是抽象的,并且不重写抽象方法



我有作业,当我运行它时,它会给我以下消息(不是抽象的,并且不覆盖抽象方法(我使用了一个接口,应该运行正常的

interface Employee1212 {
int retirementAge = 60;
double generateSalary();
double getBonus(double a, double b);
}
public class Manager implements Employee1212 {
public double generateSalary() {
return 10.0;
}
double getBonus() {
return retirementAge;
}
}

接口定义了double getBonus(double a, double b);,但您实现了double getBonus()。您需要签名才能匹配。使用@Override注释可以帮助防止这种类型的错误。

public class Manager implements Employee1212 {
@Override
public double generateSalary() {
return 10.0;
}
@Override
public double getBonus(double a, double b) {
return a * b; // retirementAge?
}
}

您的方法getBonus未正确实现。

接口方法总是公共的,即使没有修饰符,所以您的实现也需要是公共的。此外,接口方法定义了两个参数,而您的实现没有定义这两个参数。

最新更新