当我尝试继承时出现错误“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 {
}
}
有人可以帮助我,我真的不明白这意味着什么
答案 0 :(得分:2)
你自己定义了相同的类,这就是问题所在:
public class CheckingAccount {
public class CheckingAccount extends BankAccount{
}
}
内部类的名称应该不同。或者你可能希望外部类扩展BankAccount
?目前还不清楚你想要实施什么,但也许这就是你的目标:
public class CheckingAccount extends BankAccount{
}
答案 1 :(得分:1)
答案已经成功地给出了很多次,但我会在这段代码中添加一条无关的评论:
//constructor
public void Bankaccount()
{
balance = 0;
}
这不是构造函数。如果您希望它是构造函数,则必须删除void
答案 2 :(得分:0)
你应该只写 -
public class CheckingAccount extends BankAccount{
}
而不是
public class CheckingAccount {
public class CheckingAccount extends BankAccount{
}
}
答案 3 :(得分:0)
替换以下内容:
public class CheckingAccount {
public class CheckingAccount extends BankAccount{
}
}
由此:
public class CheckingAccount extends BankAccount{
}
答案 4 :(得分:0)
您的错误很可能就在这里:
public class CheckingAccount {
public class CheckingAccount extends BankAccount{
}
}
您在已存在的CheckingAccount类中定义了CheckingAccount类。我不认为你可以隐藏一个封闭的类型。
答案 5 :(得分:0)
1 class CheckingAccount {
2 public class CheckingAccount extends BankAccount {
3
4 }
5 }
删除上面的第1行和第5行,并在超类中添加无参数构造函数
答案 6 :(得分:0)
另一方面注意事项并非如此:
public BankAccount(double initialBalance) {
initialBalance = balance;
}
应该是
public BankAccount(double initialBalance) {
balance = initialBalance;
}
因为前者什么也没做。