将当前的类实例传递给新创建的

时间:2017-05-04 09:32:36

标签: java class instance

所以我有一个A类,在某些情况下需要创建一个B类实例。如果发生这种情况,则B类需要能够调用创建它的A类实例的方法。

如何以最佳方式在Java中实现此目的?我可以将类的当前实例传递给我正在创建的第二个实例,以便我可以访问它的方法,还是有办法实际传递方法?

1 个答案:

答案 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
    }
}

希望这会有所帮助。