首页 > 解决方案 > 不是抽象的,也不会覆盖抽象方法

问题描述

我有作业,当我运行它时,它会给我这个消息(不是抽象的,也不会覆盖抽象方法),我使用一个接口,应该可以运行

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;
  }
}

标签: javainheritanceinterfaceabstract-classabstraction

解决方案


接口定义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?
    }
}

推荐阅读