Java 从另一个类创建类的新实例
所以我在做一些功课,试图从我的类records创建Employee类的实例Java 从另一个类创建类的新实例,java,class,methods,constructor,hashset,Java,Class,Methods,Constructor,Hashset,所以我在做一些功课,试图从我的类records创建Employee类的实例 public class Employee implements Comparable<Employee> { /* instance variables */ private String Name; private String employeeNumber; /** * Constructor for Employee */ public Employee(String employNum)
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;
}
我无法获得创建新员工的最后一点,它不会出现错误,并且编译正确。只是没有新员工。
*添加employeeSet.add(newEmp);导致编译器警告,并且由于NullPointerException,该方法将无法运行,可能是因为员工未实际创建
关于更多信息,当我创建一个员工时,如果只输入了一个员工号码,但我仍然需要存储该信息,则名称应显示为“null”
编辑以更新信息。关于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);
}
}
公共类记录
{
私有集employeeSet=newhashset();
公共记录()
{
}
公共无效员工(字符串编号)
{
员工newEmp=新员工(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);
}
}
公共类记录
{
私有集employeeSet=newhashset();
公共记录()
{
新员工(“1”);
新员工(“2”);
新员工(“3”);
}
public void newEmployee(字符串employNumber)
{
员工新员工=新员工(员工编号);
employeeSet.add(newEmp);
}
}
您创建的方法从未被调用。。。因此,从未创建过员工。因此,通过调用记录构造函数中的newEmployee方法,将创建一个新员工这是基于您在注释中查找的内容的新解决方案
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);
}
}
公共类记录
{
私有集employeeSet=newhashset();
公共记录()
{
新员工(“1”);
新员工(“2”);
新员工(“3”);
}
public void newEmployee(字符串employNumber)
{
员工新员工=新员工(员工编号);
employeeSet.add(newEmp);
}
}
您创建的方法从未被调用。。。因此,从未创建过员工。因此,通过调用记录构造函数中的newEmployee方法,将创建一个新员工“我无法获取创建新员工的最后一位。”。你有错误吗?到底出了什么问题?你的
集合
应该是一个集合
对吗?“我无法获得创建新员工的最后一点。”。你有错误吗?到底出了什么问题?您的集合
应该是集合
对吧?谢谢您的回复。我改变了布景的制作,实际上我也刚刚完成了。我遇到的主要问题是代码不能创建新员工。我不能更改Employee类,我只需要创建新的Records类。其中有很多我没有包括的细节,比如compareTo。而不是通过构造函数实例化记录时创建员工//我根据你告诉我的答案更改了我的解决方案。我改变了布景的制作,实际上我也刚刚完成了。我遇到的主要问题是代码不能创建新员工。我不能更改Employee类,我只需要创建新的Records类。其中有很多我没有包括的细节,比如compareTo。而不是通过构造函数实例化记录时创建员工//我根据您告诉我的内容更改了解决方案
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);
}
}