gpt4 book ai didi

java - 在java中导入一个类

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:43 24 4
gpt4 key购买 nike

如果我要导入的类与我要导入的类位于同一个包中(我正在尝试扩展前一个类, 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;
}



}

最佳答案

  1. 您不需要从同一个包中导入类。
  2. 您不能从不同的类访问一个类的私有(private)变量(除非它是内部类)。如果您想让某个变量对子类可见,请使用 protected,而不是 private

此外,您试图在任何 block 之外调用 super.getBalance() ,这是非法的,您应该将其移至您的某个方法中。对于示例:

public void modify()
{
if (super.getBalance() > 10000)
{
modifyInterestRate(10);
}
}

关于java - 在java中导入一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6006542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com