import java.lang.reflect.*; // 业务接口 interface UserService { String getUser(int id); } // 真实业务类 class UserServiceImpl implements UserService { public String getUser(int id) { return "User-" + id; } } // 动态代理处理器 class LoggingProxyHandler implements InvocationHandler { private Object target; public LoggingProxyHandler(Object target) { this.target = target; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("Before method: " + method.getName()); Object result = method.invoke(target, args); System.out.println("After method: " + method.getName()); return result; } } // 客户端使用 public class AdvancedDynamicProxy { public static void main(String[] args) { UserService realService = new UserServiceImpl(); UserService proxyInstance = (UserService) Proxy.newProxyInstance( UserService.class.getClassLoader(), new Class[]{UserService.class}, new LoggingProxyHandler(realService) ); System.out.println(proxyInstance.getUser(101)); } }