at com.sun.proxy.$Proxy0.rent(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at work3.DynamicProxy.invoke(DynamicProxy.java:16)
package work3;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class DynamicProxy implements InvocationHandler {
private Object object;
public DynamicProxy(Object object) {
this.object = object;
}
@Override
public Object invoke(Object object, Method method, Object[] args) throws Throwable {
System.out.println("before rent house");
System.out.println("method "+method);
method.invoke(object, args);
System.out.println("after rent house");
return null;
}
}
public Object invoke()中Object 中的方法应避免与定义的类成员同名
建议改为public Object invoke(Object proxy, Method method, Object[] args) throws Throwable{
}