基本的な問題です。私はクラスBにいくつかのタスクを与えるクラスAを持っています。クラスBは、クラスAに通知する必要があります。私はクラスBにコールバックとして登録する必要があります。Java簡易コールバック
私は本当にこのようにしたいObservableインタフェースを持つオブザーバパターンで
public class A
{
public void A()
{
B b = new B()
b.registerCallback(callback);
}
private void callback()
{
}
}
public class B
{
private ???? callbackoNotify;
public class registerCallback(??? callback)
{
callbackoNotify = callback;
}
public void notify()
{
callback();
}
}
そして、クラスAは、パブリックメソッド」を持っています誰もが呼ぶことができるコール "、Bだけができるはずです。 – aQuu
したがって、Callbackを拡張する抽象クラスを作成します。 Bを、呼び出しを行う保護されたメソッドでAを拡張する具象クラスにします。 これらの問題が最初に発生している場合は、Ratpackなどの非同期フレームワークを調べる必要があります。 – ninnemannk
@aQuuそれはインターフェイスの使用です。 OOPでは、この 'call'メソッドを呼び出す場合、' Callback'型のオブジェクトを持つべきです。もしaが 'A'型の' a.call() 'を実行しているなら、それは悪い習慣です。クラスBでも、コールバックへの参照を 'Callback'型で保持します。 –