gpt4 book ai didi

java - 从另一个类创建一个类的新实例

转载 作者:行者123 更新时间:2023-11-29 08:45:04 25 4
gpt4 key购买 nike

所以我被困在一些家庭作业中,试图从我的名为 records 的类中创建 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 类,它将创建一个员工详细信息的 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 而运行,可能是因为实际上并未创建员工。

有关详细信息,当我创建员工时,如果只输入员工编号,名称应该显示为“空”,但我仍然需要存储该信息。

编辑更新信息。我遗漏了 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);
}
}

最佳答案

这是基于您在评论中寻找的内容的新解决方案

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

public Record()
{
newEmployee("1");
newEmployee("2");
newEmployee("3");
}

public void newEmployee(String employNumber)
{
Employee newEmp = new Employee(employNumber);
employeeSet.add(newEmp);
}
}

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

关于java - 从另一个类创建一个类的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36959349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com