package com.djk.design.action.shuangchong;
public interface A
{
void doSome(B b);
void say();
}
package com.djk.design.action.shuangchong;
public interface B
{
void doB(A a);
}
package com.djk.design.action.shuangchong;
public class AImpl implements A
{
@Override
public void doSome(B b) {
b.doB(this);
}
@Override
public void say()
{
System.out.println("我被回调了啊");
}
}
package com.djk.design.action.shuangchong;
public class BImpl implements B
{
@Override
public void doB(A a)
{
System.out.println("我完成了 准备回调");
a.say();
}
}
package com.djk.design.action.shuangchong;
public class Client
{
public static void main(String[] args)
{
A a = new AImpl();
B b = new BImpl();
a.doSome(b);
}
}