员工和业余爱好是计划中的两个班级。在for循环中,Employee和Hobby对象在每次迭代中都得到初始化,它们会每次指向一个新的内存位置还是指向同一个位置?如果在我的for循环中相同的对象在所有迭代中被初始化,会发生什么?
public void addEmployees(int a, HashMap<Employee,Hobby> hMap)
{
Scanner obj = new Scanner(System.in);
Scanner obj1 = new Scanner(System.in);
for(int i =0; i<a ; i++)
{
Employee emp = new Employee();
Hobby hob = new Hobby();
System.out.println("Enter id of employee:");
int num = obj.nextInt();
emp.setEmployeeId(num);
System.out.println("Enter name of employee:");
String str = obj1. nextLine();
emp.setName(str);
hob.enterHobby();
hMap.put(emp,hob);
}
}
“每次都在堆上创建新对象,它们可能指向同一位置,也可能不指向相同的位置。”用户评论Andy – Trilarion 2014-10-10 07:03:10