我不太明白你的意思,你难道是说在A中写
B xx=new B();
xx.waitfor();
不行是不是这个意思。如果我理解得没错。你完全可以在B的构造函数里面调用waitfor。
当然你可能不愿意改变这个构造函数。那么你可以另外再写一个构造函数,在里面调用waitfor专门针对A初始化B这种情况。然后在A里面调用这个构造函数。一个疑问是你难在B的构造函数里面就start线程了?这样不好哦。通常再提供一个start是比较合适的。
总之你的设计很有问题。
B xx=new B();
xx.waitfor();
不行是不是这个意思。如果我理解得没错。你完全可以在B的构造函数里面调用waitfor。
当然你可能不愿意改变这个构造函数。那么你可以另外再写一个构造函数,在里面调用waitfor专门针对A初始化B这种情况。然后在A里面调用这个构造函数。一个疑问是你难在B的构造函数里面就start线程了?这样不好哦。通常再提供一个start是比较合适的。
总之你的设计很有问题。
而且waitfor()是一个必须执行的方法,因为它在类B里必须被要求一开始就运行自己.