所以我的驱动程序类中有这样的内容:
Person person1 = new Person(home1, job1);
Home home1 = new Home(person1);
Job job1 = new Job(person1);
其中 Person 构造函数的参数是家庭和工作,家庭构造函数的参数是所有者,工作构造函数的参数是员工。我怎样才能做到这一点?
最佳答案
尽可能避免循环依赖。但是,您可以通过从外部连接它们来做到这一点。所以:
Person person1 = new Person();
Home home1 = new Home(person1);
person1.setHome(home1);
Job job1 = new Job(person1);
person1.setJob(job1);
正如我所说,通常是不明智的,但如果小心使用,有时会很有用。然而,这样做总是是不明智的,并且让 Person 依赖 .setHome(home1);
和 .setJob(job1);
被调用;换句话说,一个无家可归、失业的 Person
仍然可以毫无错误地操作。
关于Java - 带有参数的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20084280/