0
所以我有一個類A需要在某些情況下創建類B的實例。如果發生這種情況,類B需要能夠調用創建它的類A的實例的方法。將類的當前實例傳遞給新創建的類
如何在Java中以最佳方式實現此目標?我可以將當前類的實例傳遞給我創建的第二個實例,以便我可以訪問它的方法,或者是否有實際傳遞方法的方法?
所以我有一個類A需要在某些情況下創建類B的實例。如果發生這種情況,類B需要能夠調用創建它的類A的實例的方法。將類的當前實例傳遞給新創建的類
如何在Java中以最佳方式實現此目標?我可以將當前類的實例傳遞給我創建的第二個實例,以便我可以訪問它的方法,或者是否有實際傳遞方法的方法?
一個好的方法是創建一個接口函數,它需要由類B調用,並通過類A實現此接口。現在,當在類A中創建類B的實例時,傳遞通過構造函數將A類對象引用到B類。 例如
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
}
}
希望這會有所幫助。
您可以在這些類中使用類的類變量,然後根據需要您可以初始化類並重用其方法 –
'A a = new A();'然後'B b = new B(a) ;'很好。 – matt
你的意思是說'B b = new B(this)','? –