动态代理是轻量级容器实现AOP拦截的一种主要方式。 IAandB.java public interface IAandB ... { public void doSomething();} ------------------------------------------------ A.java public class A implements IAandB ... { public void doSomething() ...{ System.out.println("A.a();"); }} ------------------------------------------------- B.java public class B implements IAandB ... { public void doSomething() ...{ System.out.println("B.b();"); }} ----------------------------------------------- Handler.java import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; public class Handler implements InvocationHandler ... { private IAandB ab; public Handler(IAandB ab) ...{ this.ab = ab; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable ...{ Object obj = method.invoke(ab,args); return obj; }} ------------------------------------------------------------------ Test1.java 测试类代码 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; public class Test1 ... { public static void main(String[] args) ...{ IAandB ab = new A(); try ...{ InvocationHandler ds = new Handler(ab); IAandB ab1 = (IAandB) Proxy.newProxyInstance(ab.getClass() .getClassLoader(), ab.getClass().getInterfaces(), ds); ab1.doSomething(); } catch (Exception e) ...{ e.printStackTrace(); } }} --------------------------------------------------------------------