如果我要导入的类与我要导入的类位于同一个包中(我正在尝试扩展前一个类, savingAccount 和 SpecialSavings 都在同一个帐户中),我是否应该导入 java 类?另外,我试图从子类访问父类中的私有(private)变量,但它不允许我这样做。这是我的代码:
package finance;
import finance.SavingsAccount;
public class SpecialSavings extends SavingsAccount
{
public SpecialSavings(double savingsBalance)
{
super.setBalance(savingsBalance);
}
if (super.getBalance() > 10000)
{
modifyInterestRate(10);
}
}
这是 SavingsAccount 的代码:
package finance;
public class SavingsAccount
{
private static double annualInterestRate;
private double savingsBalance;//indicates the amount the saver currently has on deposit
public SavingsAccount(double savingsBalance)//default constructor
{
this.savingsBalance = savingsBalance;
}
public double calculateMonthlyInterest()
{
savingsBalance += savingsBalance * ((annualInterestRate/100)/12);
return savingsBalance;
}
public static void modifyInterestRate(double newValue)
{
annualInterestRate = newValue;
}
/*-------------getters and setters------------------------*/
public void setBalance(double newValue)
{
savingsBalance = newValue;
}
public double getBalance()
{
return savingsBalance;
}
}
最佳答案
- 您不需要从同一个包中导入类。
- 您不能从不同的类访问一个类的私有(private)变量(除非它是内部类)。如果您想让某个变量对子类可见,请使用
protected
,而不是private
。
此外,您试图在任何 block 之外调用 super.getBalance()
,这是非法的,您应该将其移至您的某个方法中。对于示例:
public void modify()
{
if (super.getBalance() > 10000)
{
modifyInterestRate(10);
}
}
关于java - 在java中导入一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6006542/