0

このコードで次のエラーが発生します。

BankingServant is not abstract and does not override abstract method
CheckBalance(String) in BankingOperations public class BankingServant
extends _BankingImplBase

これが私のコードです:

import BankingApp._BankingImplBase;
import BankingApp.*;
import java.util.ArrayList;
import java.util.Iterator;

public class BankingServant extends _BankingImplBase {
  private int AccountName;
  private int LodgementAmount ;
  private int TransferAmount ;
  private int WithdrawlAmount;
  private int TransferAmount;
  private int TransferAccWith;
  private int TransferAccDep;
  private int CheckBalance;

  private class Account {
    String accName;
  }

  private class Trans {
    String accName;
    double transferAmount;
    double transferAccWith;
    double transferAccDep;
    double withAmount;
    double lodgementAmount;
  }

  private class With {
    String accName;
    double withAmount;
  }

  public boolean Lodgement(String accName, double lodgementAmount) {
    System.out.println("Enter Lodgement.");
    Account acc = new Account();
    acc.accName = accName;
    acc.lodgementAmount = lodgementAmount;
    acc.add(acc);
    System.out.println("Money was lodged.");
  }

  public boolean Transfer(String accName, double transferAmount, double transferAccWith, double transferAccDep){
    System.out.println("Transfer Amount: ");
    Trans bankingTemp = new Trans();
    bankingTemp.accName = accName;
    bankingTemp.transferAmount = transferAmount;
    bankingTemp.transferAccWith = transferAccWith;
    bankingTemp.transferAccDep = transferAccDep;
    bankingTemp.parts = this.parts;
    bankingTemp.planeId = planeId;
    banking.add(bankingTemp);
    System.out.println("Transfered");
    planeId++;
    return true;
  }

  public void CheckBalance(String accName) {
    System.out.println("Balance is: ");
    Account accB = new Account();
    accB.accName = accName;
    accB.checkBalance = checkBalance;
    accB.add(accB);
    System.out.println("Balance is: ");
  }
}

このエラーが発生するのはなぜですか?

4

2 に答える 2

1

CheckBalanceメソッドが異なるシグネチャBankingServantを持っている可能性があります。_BankingImplBaseそれらは同じパラメータを持っているように見えるので、おそらくそれは異なるリターンタイプを持っています。

于 2012-12-05T14:20:58.163 に答える
1

あなたが持っている

private int CheckBalance;

public void CheckBalance(String accName) {

このようなことを防ぐために従うことができる Java 規則が 2 つあります。

  1. メソッド名とフィールド名は常に小文字で始めてください。
  2. この例でより重要なのは、フィールドには名詞の名前を付け、メソッドには動詞の名前を付ける必要があるため、同じ名前を持つことはほとんどないということです。

命名規則に関する参考文献は、次の場所にあります。

于 2012-12-05T14:26:49.933 に答える