リスナーとしてプライベート抽象クラスがあります。反映されているだけでアクセスできます。そのクラスを実装するにはどうすればよいですか?
public class A {
private abstract class OnWorkListener {
public abstract void onWork(int param);
}
private OnWorkListener mListener;
public A(OnWorkListener listener) {
mListener = listener;
}
public void work() {
// some working
if(mListener != null) {
mListener.onWork(0);
}
}
}
public class B {
private static final String TAG = B.class.getSimpleName();
public B() {
//How to overwrite it?
WorkListener listener = new WorkListener() {
public void onWork(int what) {
Log.d(TAG, "onWork "+what);
}
};
A a = new A(listener);
a.work();
}
}
問題は、抽象クラスのインスタンスを作成できないことです。最初に実装する必要があります。しかし、私は答えを見つけることができません。