Java导入给出错误

时间:2011-11-15 17:11:39

标签: java

同样,我是一个java n00b,我正试图从头学习并遇到一些令人尴尬的问题。

我有一个Account类,如下所示:Account.java

 public class Account 
 {
    protected double balance;

    // Constructor to initialize balance
    public Account( double amount )
{
    balance = amount;
}

    // Overloaded constructor for empty balance
    public Account()
{
    balance = 0.0;
}

    public void deposit( double amount )
{
    balance += amount;
}

    public double withdraw( double amount )
{
            // See if amount can be withdrawn
    if (balance >= amount)
    {
        balance -= amount;
                    return amount;
    }
    else
            // Withdrawal not allowed
                    return 0.0;
}

    public double getbalance()
{
            return balance;
}
  } 

我正在尝试使用extends来继承此类中的方法和变量。所以,我使用了InterestBearingAccount.java

 import Account;

 class InterestBearingAccount extends Account
  {
    // Default interest rate of 7.95 percent (const)
    private static double default_interest = 7.95;

    // Current interest rate
    private double interest_rate;

    // Overloaded constructor accepting balance and an interest rate
    public InterestBearingAccount( double amount, double interest)
{
    balance = amount;
    interest_rate = interest;
}

    // Overloaded constructor accepting balance with a default interest rate
    public InterestBearingAccount( double amount )
{
    balance = amount;
    interest_rate = default_interest;
}

    // Overloaded constructor with empty balance and a default interest rate
    public InterestBearingAccount()
{
    balance = 0.0;
    interest_rate = default_interest;
}

    public void add_monthly_interest()
{
            // Add interest to our account
    balance = balance +
                    (balance * interest_rate / 100) / 12;
}

 }

我收到错误说导入错误'。'当我尝试编译时会发生。所有文件都在同一个文件夹中。

我做了javac -cp。 InterestBearingAccount

4 个答案:

答案 0 :(得分:6)

如果所有文件都在同一文件夹/包中,则无需导入。

答案 1 :(得分:4)

定义类时,可以选择在文件顶部包含package语句。这要求类所属的包,并且应该与它在文件系统上的位置相关联。例如,应在以下文件层次结构中定义包Account中的公共类com.foo

com
 |
 |--foo
     |
     |--Account.java

由于您已省略package语句,因此您的类都属于匿名包。对于属于同一个包的类,不需要导入类来引用它们;这只是不同包中类的要求。

答案 2 :(得分:1)

如果您的课程在同一个课程中,则无需导入。否则,您应该导入包+类名。

答案 3 :(得分:0)

将InterestBearingAccount类公开,如

public class InterestBearingAccount {}