import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.List;
public class TestHandle implements InvocationHandler {
Object target;
private void setTarget(Object target){
this.target = target;
}
public Object getProxy(){
return Proxy.newProxyInstance(this.getClass().getClassLoader(), target.getClass().getInterfaces(),this);
}
@Override
public Object invoke(Object o, Method method, Object[] args) throws Throwable {
System.out.println(method.getName() + "开始");
Object result = method.invoke(target,args);
System.out.println(method.getName() + "结束。。。");
return result;
}
public static void main(String[] args) {
TestHandle testHandle = new TestHandle();
testHandle.setTarget(new ArrayList<String>());
List list = (List) testHandle.getProxy();
list.add("kjkhkghkj");
System.out.println(list.toString());
}
}