所以我的驱动程序类中有这样的内容:
Person person1 = new Person(home1, job1);
Home home1 = new Home(person1);
Job job1 = new Job(person1);
其中Person构造函数的参数是家庭和工作,home构造函数的参数是所有者,而job构造函数的参数是雇员。我该如何进行这项工作?
最佳答案
您不能像代码那样正向引用变量。创建person1
时,尚未创建home1
和job1
。由于具有相互依赖性,因此此方法将始终将某些内容传递给尚未初始化的构造函数。
您将需要创建没有引用的这些对象,然后在实例化后使用setter方法创建关系。像这样:
Person person1 = new Person();
Home home1 = new Home();
Job job1 = new Job();
person1.setHome(home1);
home1.setOwner(person1);
person1.setJob(job1);
job1.setOnwer(person1);
关于java - Java-参数彼此相关的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20084280/