</span>
</span>
</span>
public class proxytest { @suppresswarnings("unchecked") public static void main(string[] args) { collection collection = (collection)proxy.newproxyinstance(collection.class.getclassloader(), new class[]{collection.class}, new invocationhandler() { arraylist list = new arraylist(); public object invoke(object proxy, method method, object[] args) throws throwable { system.out.println("方法:"+method.getname()+" 参数:"+arrays.tostring(args)); return method.invoke(list, args); } }); collection.add("aaa"); collection.add("aaa"); collection.add("aaa"); collection.add("aaa"); system.out.println(collection.size()); }}
<span>输出结果:</span>
<p class="msonormal" style="text-align: left; margin: 0cm 0cm 0pt 42pt;" align="left"><span>方法</span><span style="font-family: 'courier new'; color: #000000; font-size: 10pt;">:add<span> </span></span><span>参数:</span><span style="font-family: 'courier new'; color: #000000; font-size: 10pt;">[aaa]</span>[/b]
public class myproxy { public object getproxy(final object target,final advice advice){ object object = proxy.newproxyinstance(target.getclass().getclassloader(),target.getclass().getinterfaces(), new invocationhandler() { @override public object invoke(object proxy, method method, object[] args) throws throwable { advice.before(); object obj = method.invoke(target, args); advice.after(); return obj; } }); return object; }}