动态代理:
创建一个代理对象的前提:该代理对象与真实对象必须实现同一个接口!(一个真实对象要想被代理必须要实现一个接口)
应用场景:主要是针对在运行中的程序,比如三方jar包或框架中的一些对象,要做代理的操作
代理对象proxy = Proxy.newProxyIntance(
真实对象.getClass().getClassLoader(),
真实对象.getClass().getInterfaces(),
new InvocationHandler(){
public Object invoke(Object proxy,Method method,Object[] args){
//调用真实对象的getParameter("name")-->String result :王尼玛
//针对result增强返回值的方式 进行改变结果集 替换为王***
return result;
}
});
注意:代理对象创建出来后跟真实对象实现的是同一个接口
proxy.getParamter("name")该方法的返回值其实就是 invoke方法的返回值F:\邮件\视频资料\黑马\就业班资料\day33-38课件\day34课件\截图 |
|