抽象为2个接口,之间有调用
public abstract class A {
private B b;
public A(B b){this.b = b;}
void say(B b);
}
public class A1 implements A {
}
public class A2 implements A {
}
public interface B {
void say();
}
public class B1 implements B {
}
public class B2 implements B {
}
jdk动态代理,cglib动态代理。对方法做增强,或者对方法做包装的。