gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:41:32 25 4
gpt4 key购买 nike

大家晚上好。

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

例如,看下面的例子:

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

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

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

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

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

最佳答案

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

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

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

myToolBar.setWebPanel(webPanel);
webPanel.setToolBar(myToolBar);

关于Java:将相同的对象传递给彼此的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com