Java:将相同的对象传递给彼此的构造函数

2023-12-08

大家晚上好。

当尝试将对象传递给另一个对象构造函数时,我似乎遇到了一个奇怪的问题,该构造函数也依赖于它所传递到的对象。

例如,看下面的例子:

ToolBar myToolBar = new ToolBar(webPanel);
WebPanel webPanel = new WebPanel(myToolBar);

但是,在构造 ToolBar 时,它会返回 NullPointerException。当然,这是因为 webPanel 尚未构建并且需要它。

减速和初始化都必须保留在同一个类(称为 BuildUI)中,因为这是我设置属性的地方。 (对于 ToolBar 创建 webPanel 对象也是没有意义的,反之亦然)。

我也不确定这是否是良好的编程实践,因为这两个对象都需要相互引用。

非常感谢这里的任何建议。谢谢,汤姆。


正如您所看到的,这将导致问题。您可以使用 setter-getter 方法来代替这种方法,在该方法中使用默认构造函数构造对象,例如

ToolBar myToolBar = new ToolBar();
WebPanel webPanel = new WebPanel();

然后使用 setter 方法设置完全构造对象所需的实例变量。

myToolBar.setWebPanel(webPanel);
webPanel.setToolBar(myToolBar);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:将相同的对象传递给彼此的构造函数 的相关文章

随机推荐