首页 > 解决方案 > 类不是抽象的,不会覆盖抽象方法简单代码

问题描述

当我编译编译器时,我遇到了这段代码的问题BankAccount

BankAccount.java:2: error: BankAccount is not abstract and does not override abstract 
method deposit() in Account public class BankAccount implements Account 

我无法弄清楚问题并解决它。你们能帮我解决这个问题吗?

package bankCustomers;

import bankCustomers.Account;

public interface Account{    
      public int getAccountNum();
      public void deposit();
      public int getBalance();
}

class BankAccount implements Account{
   private int accountNum;
   private int balance;
   
   public int getAccountNum(int accountNumber){
      if(accountNumber == 1){
         return accountNumber;
      }
      else{
         return 0;
      }
   }
   
   public void deposit(int depositAmount){
      if(depositAmount != 0 && depositAmount > 0){
         balance += depositAmount;
      }
   }
   
   public int getBalance(){
      return balance;
   }
}

标签: java

解决方案


在 BankAccount 类中,您有带有单个参数的 getAccountNum(int accountNumber),而 Account Interface getAccountNum() 没有参数。确保您更正其中任何一个,以覆盖函数签名需要相同。

public int getAccountNum(int accountNumber){
      if(accountNumber == 1){
         return accountNumber;
      }
      else{
         return 0;
      }
   }

推荐阅读