从另一个类

时间:2016-04-30 19:36:03

标签: java class methods constructor hashset

所以我一直在尝试从我的类名为记录的类中创建一个Employee类的实例。

public class Employee implements Comparable<Employee>

{
/* instance variables */
private String Name;
private String employeeNumber;


/**
 * Constructor for Employee
 */
public Employee(String employNum)
{
   super();
   this.employeeNumber = employNum;             
}

接下来我需要创建一个Record类来创建一个Employees HashSet的详细信息,这是我需要帮助的地方。

public class Records
{
   private HashSet employeeSet;

   public Records()
   {
      Set<Employee> employeeSet = new HashSet<Employee>();
   }

然后我希望它有一个方法来添加一个新员工,然后将他们的记录放在集合中。

   public  enrollEmployee(String num)
   {
      Employee newEmp = new Employee(num);
      employeeSet.add(newEmp);
   }
}

我无法获得最后一点来创建一个新员工,它没有出现错误并且编译正确。没有新员工。 *添加employeeSet.add(newEmp);导致编译器警告,并且该方法由于NullPointerException而无法运行,可能是因为该员工实际上并未创建。

有关详细信息,当我创建员工时,名称应该显示为&#34; null&#34;如果只输入员工编号,但我仍需要存储该信息。

已编辑以更新信息。我遗漏了Employee类的更多细节,我只应该创建Records类。

上次更新,感谢您的帮助。阅读完回复后,这就是我为我工作的原因。

   public class Records
{
   private Set<Employee> employeeSet = new HashSet<Employee>();

   public Records()
   {

   }

   public void enrollEmployee(String num)
   {
      Employee newEmp = new Employee(num);
      employeeSet.add(newEmp);
   }
}

1 个答案:

答案 0 :(得分:4)

根据您在评论中寻找的内容,提出新的解决方案

bringSubviewToFront

您创建的方法从未被调用过......所以从未创建过员工。因此,通过在Record Constructor中调用newEmployee方法,将创建一个新员工