大家晚上好。
当尝试将一个对象传递给另一个对象构造函数时,我似乎遇到了一个奇怪的问题,该对象的构造函数也依赖于要传递给它的对象。
例如,使用以下示例:
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);