好吧,所以我遇到了很多麻烦,我仍在学习 Java,我的书给我设置了一个我在网上发现的常见任务,我陷入困境的部分是......
我必须创建一个银行账户计划,为账户持有人提供一个储蓄账户(有利率且无 overdraw 便利)和一个支票账户(有 100 英镑的 overdraw 便利且无利息)。
我还没有实现 overdraw ,只准备了一半的提款和存款功能,但我的问题是利息,我已经在我的父类(super class)中定义了储蓄账户余额和支票账户余额,所以在计算时我对储蓄账户类别的兴趣我无法引用 savebalance,因为我已将其设为私有(private)。我正在尝试使用 set.name 方法,但我显然做错了......
对任何能够提供帮助或提供建议的人,一个灿烂的微笑和感谢!
父类(super class)如下:
public class BankDetails
{
private String customer;
private String accountno;
private double savebalance;
private double checkbalance;
//Constructor Methods
public BankDetails(String customerIn, String accountnoIn, double savebalanceIn, double checkbalanceIn)
{
customer = customerIn;
accountno = accountnoIn;
savebalance = savebalanceIn;
checkbalance = checkbalanceIn;
}
// Get name
public String getcustomername()
{
return (customer);
}
// Get account number
public String getaccountnumber()
{
return (accountno);
}
public double getcheckbalanceamount()
{
return (checkbalance);
}
public double getsavebalanceamount()
{
return (savebalance);
}
public void savewithdraw(double savewithdrawAmountIn)
{
savebalance = savebalance - savewithdrawAmountIn;
}
public void checkwithdraw(double checkwithdrawAmountIn)
{
checkbalance = checkbalance - checkwithdrawAmountIn;
}
public void savedeposit(double savedepositAmountIn)
{
savebalance = savebalance - savedepositAmountIn;
}
public void checkdeposit(double checkdepositAmountIn)
{
checkbalance = checkbalance - checkdepositAmountIn;
}
} // End Class BankDetails
子类如下:
import java.util.*;
public class Savings extends BankDetails
{
private String saveaccount;
private double interest;
public Savings(String customerIn, String accountnoIn, float interestIn,
String saveaccountIn, double savebalanceIn)
{
super (customerIn, accountnoIn, savebalanceIn, interestIn);
saveaccount = saveaccountIn;
interest = interestIn;
}
public String getsaveaccountno()
{
return (saveaccount);
}
public double getinterestamount()
{
return (interest);
}
public void interestamount(String[] args)
{
BankDetails.getsavebalanceamount(savebalance);
interest = (savebalance / 100) * 1.75;
}
}
最佳答案
使用父类(super class)的 getSaveBalance()
方法来访问余额(该方法的名称很可疑,因为您有一个储蓄帐户类,但将余额保留在其他地方)。
(目前是 getsavebalanceamount()
,我假设要重命名以符合 Java 约定。)
我建议在命名 getter 和 setter 时使用一致的 CamelCase,例如 getInterestAmount()
、getSaveAccountNo()
等。
我建议不要注释简单的 getter/setter,但如果这样做,请使用 Javadoc 约定,例如:
/** Returns current savings account balance. */
public double getSaveBalance() { ... etc ... }
我还建议避免不必要的括号,就像目前在 setter/getter 中一样,例如:
public double getSaveBalance() {
return saveBalance; // No parens required.
}
关于java - 方法检索和继承困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864683/