所以我有一个A类,在某些情况下需要创建一个B类实例。如果发生这种情况,则B类需要能够调用创建它的A类实例的方法。
如何以最佳方式在Java中实现此目的?我可以将类的当前实例传递给我正在创建的第二个实例,以便我可以访问它的方法,还是有办法实际传递方法?
答案 0 :(得分:0)
一个好方法是创建一个带有函数的接口,需要由类B调用,并通过类A实现此接口。现在,在类A中创建类B的实例时,传递引用通过构造函数的类A对象到类B. e.g。
interface IA{
void foo();
}
class B{
IA aInstance;
public B(IA temp){
aInstance = temp;
}
//call function of A from anywhere like inside this function
void function(){
aInstance.foo();
}
}
class A implement IA{
B bInstance;
public A(){
bInstance = new B(this);
}
void foo(){
//Implement foo here
}
}
希望这会有所帮助。