同样,我是一个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
答案 0 :(得分:6)
如果所有文件都在同一文件夹/包中,则无需导入。
答案 1 :(得分:4)
定义类时,可以选择在文件顶部包含package
语句。这要求类所属的包,并且应该与它在文件系统上的位置相关联。例如,应在以下文件层次结构中定义包Account
中的公共类com.foo
:
com
|
|--foo
|
|--Account.java
由于您已省略package
语句,因此您的类都属于匿名包。对于属于同一个包的类,不需要导入类来引用它们;这只是不同包中类的要求。
答案 2 :(得分:1)
如果您的课程在同一个课程中,则无需导入。否则,您应该导入包+类名。
答案 3 :(得分:0)
将InterestBearingAccount类公开,如
public class InterestBearingAccount {}