黑马程序员技术交流社区
标题:
代理
[打印本页]
作者:
周洋
时间:
2012-3-28 00:23
标题:
代理
具体怎么实现代理调用的方法与被代理的方法具备同样的功能呢?(动态代理)
作者:
抓哇
时间:
2012-3-28 09:27
就是靠JVM的动态代理类的handler参数就行了 基础加强讲的很细啊
作者:
yangshang1
时间:
2012-3-28 10:06
import java.lang.reflect.*;
public class TestAgent {
public static void main(String[] args) {
Agent agent=new Agent();
BAgentFace bAgentFace=null;
agent.setObj(new BAgent());
bAgentFace=(BAgentFace)Proxy.newProxyInstance(BAgentFace.class.getClassLoader(),new Class[]{BAgentFace.class},agent);
bAgentFace.add();
}
}
class Agent implements InvocationHandler
{
private Object obj;
public void setObj(Object obj) {
this.obj = obj;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
return method.invoke(obj,args);
}
}
class BAgent implements BAgentFace
{
public void add()
{
System.out.println("ni hao");
}
}
interface BAgentFace
{
public void add();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2