所以我的驱动程序类中有这样的内容:

Person person1 = new Person(home1, job1);

Home home1 = new Home(person1);

Job job1 = new Job(person1);


其中Person构造函数的参数是家庭和工作,home构造函数的参数是所有者,而job构造函数的参数是雇员。我该如何进行这项工作?

最佳答案

您不能像代码那样正向引用变量。创建person1时,尚未创建home1job1。由于具有相互依赖性,因此此方法将始终将某些内容传递给尚未初始化的构造函数。

您将需要创建没有引用的这些对象,然后在实例化后使用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/

10-11 18:16