2017-05-04 13 views
0

したがって、クラスBのインスタンスを作成する必要があるクラスAがある場合があります。このような場合は、クラスBはそれを作成したクラスAのインスタンスのメソッドを呼び出すことができる必要があります。クラスの現在のインスタンスを新しく作成したインスタンスに渡します

Javaで可能な限り最良の方法でこれを達成するにはどうすればよいですか?クラスの現在のインスタンスを作成中の2番目のインスタンスに渡して、そのメソッドにアクセスできるようにするか、実際にメソッドを渡す方法はありますか?

+0

これらのクラスでクラス変数のようなクラスを使用し、必要に応じてクラスを初期化してメソッドを再利用することができます –

+0

'A a = new A();'次に 'B b = new B(a) ; '完璧です。 – matt

+1

あなたは 'B b = new B(this);'のようなものを意味しますか? –

答えて

0

これを行うには、クラス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 
    } 
} 

希望すると、これが役立ちます。

関連する問題