1

継承を試みると、「CheckingAccountはすでにnullで定義されています」というエラーが表示されます。これはどういう意味で、どうすれば修正できますか?
これは私が持っているコードです:

public class BankAccount 
{
    double balance;

    public void Bankaccount() {
        balance = 0;
    }

    public BankAccount(double initialBalance) {
        initialBalance = balance;
    }

    public void deposite(double amount) {
        balance = balance + amount;
    }

    public void withdraw(double amount) {
        balance = balance - amount;
    }

    public double getBalance(double balance) {
        return balance;
    }

    public void transfer(double amount, double bankAccountOther) {
        balance = balance - amount;

    }
}

public class CheckingAccount 
{
    public class CheckingAccount extends BankAccount {
    }
}

誰かがここで私を助けてくれませんか、私はそれが何を意味するのか本当にわかりません

4

7 に答える 7

2

あなたはそれ自体の中に同じクラスを定義しています、これは問題です:

public class CheckingAccount {
    public class CheckingAccount extends BankAccount{
    }
}

内部クラスには別の名前を付ける必要があります。それとも、外部クラスを拡張することを意図していましたBankAccountか?何を実装しようとしていたかは明確ではありませんが、おそらくこれがあなたが目指していたものです。

public class CheckingAccount extends BankAccount{
}
于 2013-03-15T18:32:55.270 に答える
1

答えはすでに何度も首尾よく与えられましたが、このコードに関しては無関係なコメントを追加します。

//constructor
    public void Bankaccount()
    {
    balance = 0;
    }

これはコンストラクターではありません。コンストラクターにしたい場合は、削除する必要がありますvoid

于 2013-03-15T18:38:04.430 に答える
0

あなただけを書くべきです-

public class CheckingAccount extends BankAccount{

    }

ではなく

public class CheckingAccount {
    public class CheckingAccount extends BankAccount{

        }
    }
于 2013-03-15T18:33:34.750 に答える
0

以下を置き換えます:

public class CheckingAccount {
public class CheckingAccount extends BankAccount{

    }
}

これで :

 public class CheckingAccount extends BankAccount{

 }
于 2013-03-15T18:34:49.450 に答える
0

エラーはおそらくここにあります:

public class CheckingAccount {
public class CheckingAccount extends BankAccount{

    }
}

すでに存在するCheckingAccountクラス内にCheckingAccountクラスを定義しています。囲まれたタイプを隠すことはできないと思います。

于 2013-03-15T18:35:21.683 に答える
0
1   class CheckingAccount {
2   public class CheckingAccount extends BankAccount {
3
4        }
5   }

上記の1行目と5行目を削除し、スーパークラスに引数なしのコンストラクターを追加します

于 2013-03-15T18:35:36.390 に答える
0

実際には答えではない別のサイドノート:

public BankAccount(double initialBalance) {
        initialBalance = balance;
    }

する必要があります

public BankAccount(double initialBalance) {
        balance = initialBalance;
    }

前者は何も達成しないので。

于 2013-03-15T18:46:40.483 に答える