java - 在java中导入一个类

标签 java class import

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

相关文章:

java - 在 Java 32 位和 Java 64 位之间切换

java - 正则表达式 Notepad++ OK JDK 1.6 NOK

java - 尝试写入文件时出现 Broken Pipe 异常

php - 扩展 PHP 类

java - 类(class)决定有问题

python - Windows 上的错误 "Import Error: No module named numpy"

java - Java中的 "the result to the type expected by the invoker"是什么?

java - 查询Class类的实例

java - eclipse 无法从打开的文件系统导入项目?

python - 有没有办法强制将数据导入 Odoo 9 或 10 中的只读字段?