1,创建一个UserService类:
public interface UserService { public String getTheName(int id); public Integer getTheAge(int id); }
2,创建实现类UserServiceImpl
public class UserServiceImpl implements UserService { @Override public String getTheName(int id) { return "小风"; } @Override public Integer getTheAge(int id) { return 10; } }
3, 测试类JDKProxyTest
public class JDKProxyTest implements InvocationHandler { private Object target; JDKProxyTest() { super(); } JDKProxyTest(Object target) { super(); this.target = target; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("++++++调用方法之前: " + method.getName() + "++++++"); Object result = method.invoke(target, args); System.out.println("++++++调用方法之后: " + method.getName() + "++++++"+result); return result; } public static void main(String[] args) { UserServiceImpl userService = new UserServiceImpl(); InvocationHandler handler=new JDKProxyTest(userService); UserService userServiceProxy= (UserService) Proxy.newProxyInstance(userService.getClass().getClassLoader(), userService.getClass().getInterfaces(), handler); System.out.println(userServiceProxy.getTheName(1)); System.out.println(userServiceProxy.getTheAge(1)); } }