大家晚上好。
当尝试将一个对象传递给另一个对象构造函数时,我似乎遇到了一个奇怪的问题,该对象的构造函数也依赖于要传递给它的对象。
例如,使用以下示例:
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);
我创建了一个Author对象,用于构造函数的方法签名:public Book但是,我所做的赋值要求将Author(实例变量)更改为。当然,现在我以前的构造函数不行了。这是密码 如果我上传的方式不令人满意,我对任何不便表示歉意。我还没有学会使用堆栈溢出。 谢谢!
我试图使一个用户类和使用类来处理登录,但从某种原因我的用户类构造函数是读取我的mysqli对象作为一个字符串 这是我的密码 Class.php mysql.php checklogin.php 它给了我这个错误 可捕获的致命错误:在第13行的C:\wamp\www\class.php中,类mysqli的对象无法转换为字符串 我要把头发拔出来了,有什么想法吗?
我为什么要这样做?因为lambda表达式生成的ClosureType不是默认可构造的。通过这个“技巧”,我可以默认构造这样的closureType。 此外,模板参数的要求是,它必须为空=>
问题内容: 似乎以下代码应返回true,但返回false。 这有什么意义? 问题答案: 常规()和严格()相等之间的唯一区别是,严格相等运算符禁用类型转换。由于已经在比较两个相同类型的变量,因此使用的相等运算符的类型无关紧要。 不管您使用常规相等还是严格相等,对象比较仅 在您比较相同的精确对象时得出 。 也就是说,给定,,,但。 两个不同的对象(即使它们都具有零或相同的精确属性)也永远不会相等地进
我试图将构造函数参数动态传递给Springboot框架中的一个bean。我已经使用context.getBean(class,arg...)在Spring中动态传递构造函数参数,但它没有成功获取值并显示默认值。我的代码有什么问题? 项目结构: 应用程序上下文.xml 应用 活动 输出:
问题内容: 如果我创建一个可运行的对象 然后将相同的对象传递给两个线程构造函数并运行它们 有可能吗?这意味着什么? 如果我调用Thread.sleep(0); 在MyRunnable类中,两个线程会因为它们是同一对象而休眠,还是线程实体与该对象完全分开? 是否会有理由这样做,如果不能,请仍然回答上面的两个问题,因为我还不完全了解线程机制? 问题答案: 这绝对是可能和合法的。如果您没有状态(没有字段