你描述得不够准确,我估计是A、B两个类各有一个对象,需要相互调用。对吧。 如果只是在A类中调用B类,只需要A对象中随时new 一个B类对象就可以了。 一般有两种方法解决: 一是调用方法时,把相应的引用传递过去。如: class A{ methodA(B b); } class B{ methodB(A a); }main thread: A a=new A(); B b=new B(); a.methodA(b); b.methodB(a); 二是B中有A的对象作为数据成员,A中有B对象作为数据成员 class A{ B b; methodA(){ //use b directly } }
如果只是在A类中调用B类,只需要A对象中随时new 一个B类对象就可以了。
一般有两种方法解决:
一是调用方法时,把相应的引用传递过去。如:
class A{
methodA(B b);
}
class B{
methodB(A a);
}main thread:
A a=new A();
B b=new B();
a.methodA(b);
b.methodB(a);
二是B中有A的对象作为数据成员,A中有B对象作为数据成员
class A{
B b;
methodA(){
//use b directly
}
}
你在A类产生B类的引址或在B类产生A类。