【发布时间】:2017-12-19 19:22:26
【问题描述】:
这可能是很容易解决的问题,但我对 Java 真的很陌生,我在修复这个错误时遇到了问题。我正在开发一台基本的 ATM 机(我现在还想不通)。我有一个 BankAccount 类、一个 Checking Account(扩展 bankAccount)、一个 SavingAccount 类(也扩展 bankAccount)和一个 User 类。在我的 CheckingAccount 类中,我想使用我的 SUPER 类(bankAccount)中的一个参数,“余额”,但我不确定是否有一种方法可以只使用具有多个 One 的构造函数中的 ONE 参数范围。如果是这样,有什么线索吗?我收到一个错误:“没有找到适合 BankAccount(double)... 的构造函数”。到目前为止,这是我的代码,感谢您的帮助。
-- 银行账户类--
package atm;
public class BankAccount {
public double balance;
public int accountNumber = 333220;
public User user;
public BankAccount(){
balance = 0;
}
public BankAccount(double balance, int accountNumber, User user){
this.balance = balance;
this.accountNumber = accountNumber;
this.user = user;
}
public void accountNumber(){
accountNumber++;
}
public int getAccountNumber(){
return accountNumber;
}
public void deposit (double amount){
balance += amount;
}
public void withDraw(double amount) {
balance -= amount;
}
public double getBalance (){
return balance;
}
public void transfer( BankAccount other,double amount){
withDraw(amount);
other.deposit(amount);
}
}
-- CheckingAccount 类--
package atm;
public class CheckingAccount extends BankAccount {
private int transactionCount;
private static final double transactionFees = 1.50;
private static final int freeTransactions = 5;
public CheckingAccount (double balance){
super(balance); //HERE is where I am confused. I only need to use the "balance"
transactionCount = 0;
}
public void deposit(double amount){
transactionCount ++;
super.deposit(amount);
}
public void withDraw(double amount){
transactionCount ++;
super.withDraw(amount);
}
public void deductFees (){
if (transactionCount > freeTransactions){
double fees = transactionFees * (transactionCount - freeTransactions);
super.withDraw(fees);
}
transactionCount = 0;
}
}
非常感谢!
【问题讨论】:
-
不,要调用任何构造函数或方法,您必须传递与其每个参数对应的合适参数。
标签: java