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

Your error is most likely right here:

public class CheckingAccount {
public class CheckingAccount extends BankAccount{

    }
}

You're defining a CheckingAccount class within an already existent CheckingAccount class. I don't think you can hide an enclosed type.

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

remove 1st and 5 line above and add no-argument constructor in Super class

于 2013-03-15T18:35:36.390 回答
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 BankAccount(double initialBalance) {
        initialBalance = balance;
    }

应该

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

因为前者一事无成。

于 2013-03-15T18:46:40.483 回答