java构造函数问题
private YOrder parentWork;public DlgQueryOpticDetail(Dialog owner, YOrder order) {
this(owner, DialogShowConstants.HIDE_CONDITION, true);
parentWork = order;
this.startQuery();
}
@Override
protected DialogShowInterface createDialogShower() {
return new ButtonClose(parentWork);
}
第一个函数是DlgQueryOpticDetail的构造函数,给parentWork赋值为order,第二个函数返回了一个ButtonClose函数,并给ButtonClose赋值parentWork。可是DlgQueryOpticDetail构造函数比createDialogShower()方法慢执行,导致给ButtonClose赋值时parentWork还是空的。有没有什么方法能使ButtonClose赋值时parentWork???(parentWork的值是由order赋予的)
问题的描述我说的有点别扭,希望有看懂的大虾帮忙解答下 --------------------编程问答-------------------- 就没有大神来回复我下吗?在线等啊! --------------------编程问答-------------------- DlgQueryOpticDetail dod = new DlgQueryOpticDetail(owner,order);
dod.createDialogShower(); --------------------编程问答--------------------
楼上正解 --------------------编程问答--------------------
2楼你说的可以,不过我这个情况有些特殊,createDialogShower这个方法是个重写方法,它返回的new ButtonClose(parentWork)类控制着本类的DlgQueryOpticDetail的关闭方法。
dod.createDialogShower()按你的方法这是产生一个新的类了,无法控制DlgQueryOpticDetail的关闭,
其实我是在重写DlgQueryOpticDetail的关闭方法 --------------------编程问答-------------------- DlgQueryOpticDetail构造函数比createDialogShower()方法慢执行
搞不懂这句话的意思。
你让它比它快执行不就行了? --------------------编程问答-------------------- 楼主意图在母猪还没出世的情况下先把小猪拿到,这又何苦呢
补充:Java , Java SE