class TraceHandle implements InvocationHandler
{
private Object target;
public TraceHandler(Object t){
target = t;}
public Object invoke(Object proxy, Method m, Object[] args)
throws Throwable
{// print method name and parameters// invoke actual methodreturn m.invoke(target, args);}}// 构造可以跟踪方法调用的代理对象
Object value =...;
var handler = new TraceHandler(value);
var interfaces = new Class[]{Comparable.class};
Object proxy = Proxy.newProxyInstance(
ClassLoader.getSystemClassLoader(),
new Class[]{Comparable.class},
handler);