嗨,我正在玩创建 java 包。
我在一个名为 admin 的文件夹中创建了一个包,其中包含一个名为 Employee 的文件 - 这可以正确编译。在这个包之外,我有另一个正在导入它的 java 文件。这是源代码。
import java.util.*;
// this works --> import admin.Employee;
import admin.*; // this doesn't
public class Hello {
public static void main(String[] args) {
Employee h = new Employee("James", 20000);
System.out.println(h.getName());
}
}
奇怪的是,第二个 import 语句工作正常,但我得到了第三个
- 无法访问
Employee
- 错误的类文件:
./Employee.class
我只是使用 javac Hello.java 来编译
员工类在 admin 包中。结构是
文件夹“admin”-> 在此文件夹之外包含“Employee.class”和“Employee.java”是 hello.java 文件。
package admin;
import java.util.*;
public class Employee
{
private static int nextId;
private int id;
private String name = "";
private double salary;
// static initialization block
static
{
Random generator = new Random();
// set nextId to a random number between 0 and 9999
nextId = generator.nextInt(10000);
}
// object initialization block
{
id = nextId;
nextId++;
}
// three overloaded constructors
public Employee(String n, double s)
{
name = n;
salary = s;
}
public Employee(double s)
{
// calls the Employee(String, double) constructor
this("Employee #" + nextId, s);
}
// Default constructor
public Employee()
{
// name initialized to ""--see below
// salary not explicityl set--initialized to 0
// id initialized in initialization block
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public int getId()
{
return id;
}
}